【EDIUS】Intel第12世代CPUでのレンダリング時間と最適化
目次 -index-
インテル最新第12世代CPU「Core i9-12900K(Alder Lake-S)」を購入してメインPCを組み直したのでEDIUSで書き出し時間等について調べてみました。そこで色々と面白いことが分かったので紹介します。
尚、同じPC環境にしても同じような結果になるとは限らないので参考程度にご覧ください。
書出方法
テスト方法は10分の同じ素材動画をタイムラインに5本並べて尺を1時間にして書き出します。尚、エフェクトは何も掛けていません。
書き出しに使用したバージョンは正式にWindows 11 に対応した「EDIUS X Pro (Ver.10.30.8244)」でOSはWindows 11 Pro(21H2)です。
素材動画の詳細は下記のような感じです。
サイズ | 1920 x 1080 |
形式 | MP4 (H.264/AVC) |
フレームレート | 29.97p |
ビットレート | 5991 kbps (約6.0 Mbps) |
ファイルサイズ | 457 MB |
時 間 | 10 分 |
PC環境
PCパーツ | 型番 |
---|---|
CPU | Intel Core i9-12900K ※16コア24スレッド 定格 |
マザーボード | MSI MPG Z690 EDGE WIFI DDR4 (BIOS Ver.E7D31MS.100) |
メモリ | DDR4 32GB(16GB x 2枚) Corsair CMG32GX4M2E3200C16 ※XMP適用(3200MHz) |
M.2 SSD(NVMe) | Plextor PX-512M10PGN ※ 読込速度 約7000MB/s |
GPU | MSI GeForce GTX 1050 GAMING X 2G |
CPUクーラー | NZXT KRAKEN X73(簡易水冷) ※CAMで静音設定 |
電源 | Seasonic SSR-750FX |
ケース | Thermaltake A500 TG |
HDD1 | WD60EZRZ |
HDD2 | WD30EZRZ |
OS | Windows 11 Pro (21H2) |
H.264/AVC ハードウェアエンコード(QSV)
「H.264/AVC(MP4)」への書き出し時間を計測してみました。
「ハードウェアエンコードを使用する」にチェックを入れ、「QSV(クイック・シンク・ビデオ)」を利用した書き出しをします。
60分の動画の書出時間はインテル第9世代CPU「core i9-9900K」では9分30秒だったのに対し、第12世代CPU「Core i9-12900K」では3分ほど速い6分39秒で処理されました。
ただ、気になる点としてCPUのコアがEコアしか使われてませんでした。
Intel 第12世代CPU(コードネーム:Alder Lake-S)は、 PコアとEコアという二つの性質の異なるコアで構成されています。 「Pコア」が処理能力を重視する「高性能コア」、 「Eコア」が電力効率(省電力)を重視する「高効率コア」で 状況に合わせてコアを振り分けて作業します。 振り分けはWindows 11と連動して動作する 「Intel Thread Director」によって行われる。 P・・・Performanceの頭文字をとってPコア E・・・Efficientの頭文字をとってEコア
Intel 第12世代CPU(Alder Lake-S)は、通常負荷が高い処理はPコアで処理され、負荷が軽い処理はEコアに振り分けられて処理されるみたいなんですが、EDIUSXのレンダリング処理では高効率な省電力コアで処理されていました。ただ、高効率なEコアだけでもcore i9-9900Kより3分ほど速いというのはある意味凄いです。
Core i9-12900KはPコアが8(x2)、Eコアが8コアあるんですが、赤枠の負荷が高いコアが高効率のEコア、緑枠のコアが高性能のPコアです。
下図はEDIUS 9で同じエンコードを行った時のものなんですがこちらだと全コア使用されていました。ただエンコード時間は6分45秒とほとんど変わりませんでした。
シングル・マルチスレッドとも飛躍的に向上したハイブリッドCPU
HWMonitorでCPU単体の消費電力を調べてみたら60W台を推移し、システム全体でも130W程度でした。因みにcore i9-9900Kでは50W台と更に低かったです。そもそもハードウェアエンコード自体が低消費電力なので差が出なかったでしょうかねぇ。
因みにレンダリング中にタイムラインをプレビューするとちゃんとPコアが使われていました。
これ以降は内容は外部GPUを取り付けて検証し、
グラフィックス設定ではQSVが使えるように「省電力」にしています。
あとユーザー設定にある「再生中はバックグラウンドジョブの処理を一時停止する」にチェックを入れると処理の行われ方が変わります。
このようにしてタイムラインを再生する(Pコアが稼働)とEコアの処理が一時的に停止します。
「再生中はバックグラウンドジョブの処理を一時停止する」にチェックを入れていない場合はプレビューを開始してもEコアはエンコードを続けます。
そもそもEDIUSXからはレンダリングエンジンを外部アプリ化させてレンダリング中も編集作業できるように設計されているので編集作業に負荷がかからないように敢えてバックグラウンドで処理されているようです。
H.264/AVC (NVIDIA) ハードウェアエンコード
参考までに外部GPUを使ったハードウェアエンコード「H.264/AVC (NVIDIA)」でも書き出してみました。
結果は11分46秒とQSV(6分39秒)を使ったものより2倍近く掛かりました。GPU自体がGTX1050というひ弱だというのもあると思います。
CPUやGPUの使用率は下図のような感じです。
H.264/AVC ソフトウェアエンコード
次に「ハードウェアエンコードを使用する」にチェックを外してソフトウェアエンコードでH.264/AVC(MP4)への書き出しを行ってみました。
結果は21分27秒となんとcore i9-9900K(約20分)よりも遅くなっていました。
同じプロジェクトをEDIUS9で行ったところ、こちらでは11分51秒と倍くらいの速さでレンダリングされていました。
EDIUS9ではほぼPコアだけで処理されており、Xとはかなり異なるコアの使われ方になっていました。
H.265/HEVC ハードウェアエンコード(QSV)
ハードウェアエンコード(QSV)を使ってH.265/HEVC(MP4)に書き出してみました。
結果は21分27秒とH.264/AVCの6分30秒と比べてかなり遅い結果となりました。
理由はEコアのみが10%ほどしか使用されてないからだと思います。H.265への書き出しはH.264より負荷が高いのにそれを非力なPコアだけで行っているから処理速度が遅いんでしょうねぇ。
H.265/HEVC ソフトウェアエンコード
ソフトウェアエンコードを使ってH.265/HEVC(MP4)に書き出してみたんですが、進捗度が0%から進まずに終了予定日時がずっと増加して終わる気配がありませんでした。※一番下のジョブです。
数分経ってようやく1%になったんですが終了時間がさらに伸びて午前10時43分となっていてまだまだ増加している感じだったので途中で止めました。因みに9900KのEDIUS9では48分、12900KのEDIUS9では25分ほどでした。
CPUはちゃんと作業はしています。
H.265/HEVCのレンダリングはEコアだけでは荷が重すぎる感じです。(;´д`)トホホ…
第12世代CPUはハードウェアデコードを利用するとフリーズしたり映像が出ない不具合があるのでハードウェアデコードを無効にしているんですがそれが影響しているのかも知れません。
H.265/HEVC (NVIDIA) ハードウェアエンコード
H.265/HEVC (NVIDIA)で書き出してみました。
H.265/HEVC(QSV)の21分27秒よりはかなり速く12分40秒でした。ただ、H.264/AVCと比べるとまだ倍くらい時間が掛かりますね。
まとめ
インテル第12世代CPUはEDIUSのバージョンによってレンダリング時間が大きく異なることが分かりました。
書き出し時間を重視するなら現状ではEDIUS9で使うのが最適なようなですし、裏で書き出ししながら編集作業をガンガンと続けるような使い方をする人ならインテル第12世代CPUと EDIUS X Pro の組み合わせが最適な選択かも知れません。
ただ、EDIUS9はWindows11には正式対応していないのでその辺の問題もありますし、「Intel Thread Director」はWindows11で連動するみたいなのでWindows 10でやるとまた結果が異なるかもしれません。
出力形式 コーデック (MP4) |
書出設定 | ハードウェアエンコード (QSVの有無) |
出力時間 9900K (EDIUS9) |
出力時間 12900K (EDIUS9) |
出力時間 12900K (EDIUSX) |
---|---|---|---|---|---|
H264/AVC | あり | 09:30 | 06:45 | 06:39 | |
– | なし | 20:00 | 11:51 | 21:27 | |
– | 10bit 4:2:2 | 利用不可 | 28:00 | 13:00 ★ | 23:00 ★ |
– | 子画面 1個 | あり | 16:00 | 08:30 ★ | 15:00 ★ |
– | 子画面 9個 | あり | 01:11:00 | 39:00 ★ | 1:10:00 ★ |
H265/HEVC | あり ※1 | – | – | 21:27 | |
なし | 49:00 | 25:00 ★ | 8時間以上 ★ | ||
H264/HEVC (NVIDA) | 利用不可 | 20:00 | 12:00 ★ | 12:40 |
★ ・・・ マークが付いたものは実測値ではなく推測時間
※1・・・EDIUS 9 ではH265/HEVCでQSVは利用できない
現段階のEDIUS X Pro Version 10.30では、インテル最新CPUのコアを使い切れていません。
今後のアップデートで書き出しでPコアが使われるようになって処理速度が上がればいいんですけど現状では前世代よりも書出時間が遅くなるシーンもあります。特にソフトウェアエンコードでは3世代前のCPUと書き出し時間が変わらないとなると変えるメリットがありません。
あとUEFI(BIOS)でEコアを無効にすることもできるんですがEDIUSのレンダリングだけのためにAlder Lake-Sの機能を削ることもあり得ないですね。
追記 2021.12.22
※ Ver.10.30b8291 以降はテストしていないので解消されているかも知れません。
リリースノート(Ver.10.30b8291)によると一時回避策として以下のようなことが書かれていました。
EDIUS が第 12 世代インテルプロセッサーを効率的に使用しない。 一時回避策:Windows の電源モードを“最適なパフォーマンス”(Windows 11) 若しくは“最も高いパ フォーマンス”(Windows 10) に変更する。
当環境には「最適なパフォーマンス」という項目はなく、「高パフォーマンス」と「究極のパフォーマンス」という項目があり、「バランス」になっていたので「高パフォーマンス」にしてみました。
ただ、H.264/AVCに書き出してしてみたんですがEコアが使われるのは変わらなかったのでどのような違いがあるのかよく分かりません。
「バランス」は「プロセッサの電源管理」→「最小のプロセッサの状態」が「5%」、「最大のプロセッサの状態」が「100%」になっています。
それに対して「高パフォーマンス」と「究極のパフォーマンス」はいずれの設定値も「100%」になりますし、「究極のパフォーマンス」ではHDDの電源(20分)が切れなくなったりします。
追記 2022.4.8
Ver.10.31b8487をインストールしてH.264/AVCで書き出したところ、全コア使われるようになっていました。ただ、CPUの使用率が下がって書き出し時間はかなり遅くて10分37秒でした。
ハードウェアエンコードも有効で電源設定の最大プロセッサーの状態も100%にし、前回と同じ設定で書き出しているはずなんですが書き出し時間が落ちるとはガックリです。