M1 Ultraと自作PCを戦わせてみた
M1 Ultra vs i9 9700K
自作 PC を組み直したので 50 万円の M1 Ultra と戦わせてみることにしました。 ちなみに自作 PC はメモリを 32GB に拡張してケースを新調しただけなので 25000 円くらいしかかかっていません。
Mac Studio | PC | |
---|---|---|
CPU | M1 Ultra(20 コア) | i9 9700K(8 コア) |
MEM | 64GB | 32GB |
SSD | 2TB | 1TB |
TDP | 215W | 95W+120W |
ひどく大雑把に評価するとこんな漢字です。マザーボードがオーバークロックに対応しているモデルではないので 9700K は定格で運用しています。本当は拡張するためのカードいっぱい持っているんですけど、Z370 とか Z390 のマザーボードはもはや新品では売っていないので、日本橋とかいって買いに行く必要がありますね、めんどくさいです。
ただ、今のマザーボードが M.2 が一枚しかつけれなかったり、グラボ以外に拡張カードが一枚しかつけられなかったり(それが無線カード使っているので実質、グラボ以外に何もつけられない)なので、その辺を改善したいと思っていたりします。
TDP は一番電力を食いそうな CPU と GPU をそれぞれ足したらピッタリ 215W と Mac Studio と同じになりました。実際にはファンや SSD やらでもうちょっとかかっているはずなのですが、偶然の一致が垣間見れました。
メモリは 64GB 積んでも良かったのですが、サブ PC 扱いだったので 32GB で妥協しました、仕方ないね。
コア数は倍以上負けているのですが、インテルはシングル性能はそこそこ優秀なはずなので、いい感じに戦えるのではないかと思います。
動画エンコード
自分が一番やるのが動画のエンコードなので、m2ts の動画をエンコードして対決させてみることにしました。
- 入力ファイル
- m2ts
- x264
- 1920x1080
- 23.976fps
- 23:08
- 5960MB
なので全部で 33000 フレームくらいあるわけですね。これを解像度は同じまま x265 にエンコードします。元ファイルは 6GB 近くあって、流石に HDD が大容量といえどもアニメ一話程度を 6GB も消費していると HDD がいくらあっても足りないのです。
- 出力ファイル
- mkv
- x265
- CRF21
- 1920x1080
- 23.976fps
- 23:08
x265 なのか VP9 なのか問題はあるのですが、今回は x265 にしてみました。画質設定は CRF21 でそこそこの画質だと思います。2 パス等を除けば CRF は多分一番画質が良いので。
エンコード時間比較
というわけで比較してみました。x265 はエンコード設定が同じなら何度変換しても同じファイルが出力されるはずなのでマシン差によるファイルの差はありません。
i7 6700K | i7 9700K | M1 Ultra |
---|---|---|
4 コア 8 スレ | 8 コア 8 スレ | 20 コア |
1400 秒 | 711 秒 | 477 秒 |
すると 6700K から 9700K はコア数が単純に倍になったのでほとんど倍のスピードでエンコードを終えることができました。
ただ、9700K から M1 Ultra はコア数が 2.5 倍になっているのにエンコード時間としては 1.5 倍くらいしか速くなっていません。外部 SSD からエンコードしたのですが、SSD は転送速度 1000MB/s くらいあるはずなので、ここがボトルネックになることはないと思います。
このサイトの比較でも単純に M1 Ultra は M1 Max の倍の性能になっていないので、CPU 処理ではないところで何かがボトルネックになっているのかもしれません。
まあでも倍以上の性能のパソコンが二台あるということは、今までの四倍くらいのスピードで動画がエンコードできるはずなので、またエンコード侍に戻ろうかと思います。
ちなみにエンコードにはHandbrake CLI (opens new window)を使っています。
Windows マシンの方であればダウンロードした HandbrakeCLI と同じ場所に以下のバッチファイルを作成して、バッチファイルに動画ファイルをドラッグアンドドロップすればエンコードされますので便利です。
@echo off
for %%f in (%*) do (
%~d0%~p0HandBrakeCLI.exe -i %%f -f av_mkv -m -e x265 -q 21.0 --all-audio -E aac --all-subtitles -o %~d0%~p0%%~nf.mkv
)
pause >nul