9950Xが出るまで時間があったので、いろんなレビュー記事を見てみたけど、性能が出たり出なかったりで結構カオスだ。
それだけでなく、調べているとなんかいろんな話が出てきて
- シングルスレッドは速いがマルチはそれほどでもない
- AVX512は速い
- ゲームは(相対的に)苦手
- CCD跨ぎのレイテンシがさらに遅くなってしまった (え
- Windowsではチューニング不足でLinuxのほうが性能出る ← Win11 24H2で改善?
- SIMDの1サイクルレイテンシが2サイクルになった(なることもある?) ← ?
- WindowsではAdministoratorアカウントを使うと速い ← ???????
とかいう感じで、もうなにがなにやら…。
エンコードだけをみてもレビューサイトによってまちまちな始末で、おそらく条件によって違うのだろうなという感想しか出てこない。
というわけで、実際にエンコードではどうなったのかを中心に、自分でもベンチマークで比較してみた。
比較環境
| Ryzen9 9950X | Ryzen9 7950X |
コア数 | 16C/32T | 16C/32T |
L2 | 16MB | 16MB |
L3 | 64MB | 64MB |
メモリ | DDR5-6000 |
メモリ容量 | 32GBx2 |
タイミング | 32-38-38-96-1 |
メモリ FCLK | 1:1 |
マザー | MSI Pro X670-P WIFI |
冷却 | Fractal Design Celsius+ S28 Prisma |
電源 | Seasonic FOCUS PX-750 |
ケース | Define 7 Compact LightTG |
OS | Windows 11 23H2 |
まずはPBO等は使用しない、上記のメモリ関連設定以外は定格動作とした。
使用ソフト
Cinebench R15, R20, R23, R24
7zip 24.07
Aviutl 1.10 / x264guiEx 3.30 / x265guiEx 4.19 / svtav1guiEx 1.25
x264 rev3186 x64
x265 3.6+27 x64
svt-av1 2.1.2-52 clang
y-cruncher 0.8.5.9541 (Zen4) / 0.8.5.9543 (Zen5)
エンコードは1080p 30fps (2分53秒)の動画をAviutlで読み込み、上記出力プラグインから出力したときのエンコード速度を集計した。
まずは定番のCinebenchから。
Cinebench R24
STは13.4%、MTは7.7%高速化。
Cinebench R23
STは15.8%、MTは12.8%高速化。
Cinebench R20
STは16.5%、MTは11.3%高速化。
Cinebench R15
STは11.8%、MTは5.8%高速化。
9950Xは7950Xに比べてしっかり高速化できていて、コア性能の引き上げが効果を発揮してST(シングルスレッド)で高速化している。それと比べるとMT(マルチスレッド)の伸びはいまいちで、これはMTでのクロックが7950Xに比べて下がっているためらしい。
まあコアを大きく強化したのでやむを得ないのかもしれないが、ちょっと残念な部分ではある。
7-zip
compressは0.4%高速化、decompressは-0.4%で逆に遅くなっている。
Zen5が特に苦しんでいる7-zip。
これまでキャッシュの容量と速度の効果でRyzenは7-zipを得意としていた印象だったが、Zen5はどうも苦手のようで、どのレビューを見てもパッとしない。まあ7-zipはキャッシュが重要な処理だし、キャッシュ容量に変化はないので仕方ないのかもしれないが、あれだけ強化したコアの効果が見えないのはいっそ不思議だ。
y-cruncher 1T
55.9%の高速化。AVX512効果で圧倒的だ。
y-cruncher BBP
65.6%とぶっ飛んだ高速化。AVX512使用時はやはり強い。
ちなみにy-cruncherのmt(マルチスレッド)は作者の方曰くメモリ帯域の制約でいくら演算器を増強しても性能が変わらないらしいので省略。
ということでAVX512を活用する例としてy-crucherをやってみたが、ものすごいことになっている。
Zen5ではこれまで256bit幅だった演算器がすべて512bit化され、AVX512使用時の理論性能が2倍になったため、AVX512に最大限最適化されているy-cruncherのような処理では非常にその強みを発揮できる。
それにしてもめったに見ることのない素晴らしい高速化率だと思う。
ここから本題のエンコード速度(fps)。
まずx264から。
x264 8bit
ultrafastでは15.7%、veryslowでは2.8%の高速化。
x264も(相対的に)Zen5が苦手とする処理だと思う。特に重めのpresetのほうでいまいちで、slowは3.8%、slowerは2.1%、veryslowで2.8%と、かろうじて高速化している、という感じ。これは率直に言って残念だ。
どういうわけか、高速寄りのプリセットではきっちり高速化している。これは処理が軽くなり、CPU使用率が減ってくるのが影響しているのかもしれない。
x265 8bit
veryfastで10.3%、veryslowで11.7%の高速化。
x264と違って、今度は安定して高速化している。ただ、1世代進んで10%前後という高速化率はどうかというと、まあまあ、といったところだろうか。
x265 10bit
veryfastで20.7%、veryslowで16.4%の高速化。
x265 10bitでは、どのプリセットでも安定して20%前後と大きく高速化できている。10bitではAVX512が使いやすくなることが予想されるので、AVX512効果が表れているのだと思う。
x265 10bitの処理はfpsにも表れているように比較的重いので、ここが高速化できるのは素晴らしい。
svt-av1 8bit
P4で16.5%の高速化、P12で変わらず。
これまたプリセットによって傾向が全然違っている。重いプロセットであるP4がしっかり高速化できている一方で、軽めのP10/P12あたりで遅くなってしまっているのは面白い。
svt-av1 10bit
P4で20.6%の高速化、P12は-1.4%遅くなっている。
個人的には、svt-av1 10bit P4がこれだけ高速化できていると、買ったかいがあるというもので、これは素直にうれしかった。やはり遅い処理が高速化できるのは意義が大きいと思うし、おそらくAVX512の強化の効果なのだろうと思う。
一方、軽めのプリセットは7950Xより遅くなってしまっている。あれだけコアを強化してなぜなのだ…
7950Xと比べた時の9950Xの高速化率のまとめはこんな感じ。
高速化率が、処理によっても全く違うし、同じエンコードでもプリセットによって大きく変化しているのがわかると思う。
エンコードに関してはx264とsvt-av1はプリセットによって大きく高速化の度合いが違うし、おそらく解像度等の条件によっても変わってくるのだろうから、レビューサイトによってまちまちな結果になるのもうなずける。
まあ、ここまで得意不得意があるCPUだと、ピーキーな感じは否めず、安定して高速化してきた印象のあるZen3やZen4とくらべると、どうしてこうなった感はどうしても出てしまう。
一方で、得意な処理はとことん得意なので、ポテンシャルはかなりありそう。なにやらWindowsの最適化が不十分というかWindowsの問題で性能が下がっているらしき話もあるので、もしかすると今後そのあたりが解消すればさらに性能が引き出せる可能性もあるのかもしれない。
個人的には、x265/svt-av1 10bitの重いプリセットがきっちり高速化してくれたので、買ってよかったと思う。
今後はZen5でさらに進化したらしいPBO(Precision Boost Overdrive)/CO(Curve Optimizer)まわりを触って、さらに性能を引き出せるかやってみたい。