HandBrakeの多コア性能が覚醒。AMDが修正した2つのボトルネック

HandBrakeの多コア性能が覚醒。AMDが修正した2つのボトルネック
AMD

64コアでも96コアでも、Threadripperを選ぶ理由は圧倒的な並列処理能力にある。だが、その全力を引き出せていなかったとしたら。

AMDのエンジニアがHandBrakeのソースコードに潜む2つのスレッディングボトルネックを発見し、修正をアップストリームに提出した。HandBrake 1.11.0以降にこの修正が入り、Threadripper PROで最大181%、Threadripper HEDTで最大215%のトランスコード性能向上をAMDが確認した。コアを増やしても速くならない、場合によってはむしろ遅くなる。多コアCPUの持ち主がもっとも聞きたくない事実が、ソフトウェアの設計上の制約として残っていた。


コアが増えると遅くなる逆転現象

AMDがThreadripper環境でHandBrakeをテストしたところ、コア数に応じた性能向上どころか、逆にパフォーマンスが低下するケースが見つかった。特に720pなど低解像度のワークロードで顕著で、性能が最大60%も落ち込む場面があったという。

原因は2つ。

1つ目は、HandBrakeが64論理プロセッサを超えるシステムを効率的に扱えなかったこと。Threadripper PRO 9995WXは96コア192スレッド、Threadripper 7980Xでも64コア128スレッド。これだけのコアがあっても、ソフトウェアが活かせなければ使われないまま遊ぶ。高価なハードウェアの持ち腐れだ。

2つ目は、ワークロードの分割粒度の問題。HandBrakeがトランスコード作業を細かく切りすぎていた。ジョブが小さすぎると、実際のエンコード処理よりもスレッド間の調整に費やす時間の方が大きくなる。特に720pのような軽い処理ではこのオーバーヘッドが致命的で、コアが増えるほど調整コストも膨らみ、結果として遅くなる。

多コアCPUにとって皮肉な状況だった。「速くするためにコアを増やす」というハードウェアの思想を、ソフトウェアが裏切っていた。

修正がもたらした数字

AMDはスレッド管理とジョブスケジューリングのロジックを改善し、その修正をHandBrakeプロジェクトに提出。変更は正式にマージされ、HandBrake 1.11.0(2026年3月8日リリース)以降で利用できる。

テストはHandBrake CLI 1.11.1と1.6.1の比較だ。1.6.1をベースラインに選んだのは、後のバージョンでAMF(AMD Media Framework)のデフォルトプリセット変更が加わっており、スレッディング改善の効果だけを切り分けるため。テスト環境にはどちらもRadeon RX 9070 XTを使っている。

Threadripper PRO 9995WX(96コア/192スレッド)での結果は、ワークロードによって+31%から+181%の幅がある。もっとも改善が大きかったのはPerfume H.264 720pで+181%。低解像度でオーバーヘッドが重くのしかかっていた典型例だ。Perfume HEVC 10-bit 2160pが+151%、LG_8K HEVC 8-bit 4320pが+149%と続く。

Threadripper 7980X(64コア/128スレッド)ではさらに劇的で、+16%から+215%。最大値はやはりPerfume H.264 720pの+215%、つまり従来の3.15倍。LG_8K HEVC 8-bit 4320pが+203%、LG 8K 60fps HEVC 10-bit 4320pが+105%と、8K素材でも大幅な向上が確認された。

HandBrake ワークロード別 改善率
ワークロードPRO 9995WX7980X
H.264 720p+181%+215%
HEVC 8-bit 4320p+149%+203%
HEVC 10-bit 2160p+151%+63%
HEVC 10-bit 4320p 60fps+145%+105%
HEVC 10-bit 1080p+91%+73%
※ HandBrake CLI 1.11.1 vs 1.6.1比較。GPU: Radeon RX 9070 XT。AMD公式ブログのテストデータ

96コアのPROより64コアの7980Xの方が、改善幅が大きい。PRO側はコア数が多いぶん修正前のオーバーヘッドも深刻で、修正後の絶対性能は当然上だが、改善「率」では64コアが上回った。64論理プロセッサの壁を越えられず遊んでいたリソースが、一気に動き出した結果だろう。

アップデートするだけでいい

この改善を受けるためにユーザーがやることは、HandBrakeを1.11.0以降にアップデートするだけだ。新しいプリセットも設定変更も不要。ワークフローは何も変わらない。

AMDがこの修正をHandBrakeの独自ビルドとしてではなく、上流のプロジェクトに直接コントリビュートした点も見逃せない。HandBrakeプロジェクト共同リードのブラッドリー・セポス(Bradley Sepos)氏は、AMDの継続的な投資に謝辞を述べている。ハードウェアベンダーがオープンソースプロジェクトのコードを実際に改善し、その成果をコミュニティ全体に還元する。AMD側にとってはThreadripperの価値を高めるマーケティングでもあるが、結果としてHandBrakeユーザー全体が恩恵を受ける構造になっている。

ただし冷静に見ておくべき点もある。今回のテストはAMDが自社CPUで、自社が修正したコードで行ったベンチマークだ。テスト構成もRadeon RX 9070 XTというAMD GPUとの組み合わせで、ワークロードの選定もAMD側が行っている。数字自体の信頼性を疑う理由はないが、サードパーティによる独立検証が出揃うまでは、これをAMDの公称値として受け止めておくのが妥当だろう。

それでも、ソフトウェア最適化ひとつでここまで変わるという事実は重い。Threadripperオーナーにとって、アップデートしない理由がない。

参照元:AMD Blog - HandBrake 1.11.0 Improves Scaling on High Core Count

関連記事

この記事を共有する