最近のビデオカードだと、動画のエンコードなどにGPUの支援機能を使える。
ここでAMDのGPU向けの、VCEを用いたH.264エンコードができるAviUtlプラグインを頂いて、例のRX470でエンコードしてみた。
こういう使い方は、出力のないビデオカードの本来の用途感あるな。
使った動画は、御城プロジェクト:REのプレイ動画。(前にYoutubeに上げてある)
1280x720ピクセル・30fps・6分37秒。
これを、「拡張VCE出力」プラグインの標準設定(H.264 CQP標準)でエンコードした。
encoded 11916 frames, 190.54 fps, 2747.01 kbps, 130.07 MB
encode time 0:01:02, CPULoad: 10.4
すると、190.54 fpsのエンコード速度。6.3倍速くらいだ。
が、同じ動画を、IntelのCPUで利用できるQuick Sync Video(QSV)でエンコードしてみる。これもrigayaの日記兼メモ帳さんでAviUtl用プラグインをダウンロードできる。
設定は標準(CQP(固定量子化量))で。
CPUはCore i3-6100。Skylakeなので、QSVバージョン5になる。
encoded 11916 frames, 178.80 fps, 2410.62 kbps, 114.14 MB
encode time 0:01:06, CPULoad: 10.3
これでも178.80 fpsも出た。5.96倍速。中級クラスのビデオカードに匹敵する速度を、CPUに内蔵されたオプション機能が叩き出しちゃうとは。
出力された動画ファイルも、ファイルサイズも画質も似たようなものに思えた。
単に動画をH.264にエンコードするだけだと、RX470とCore i3-6100のQSVが同等の処理性能のようだ。
ただ、QSVが速いのは、専用の回路をCPU内に組み込んでいるおかげらしい。だから、対応しているH.264 / 265とかVP8のエンコードだけしかできない。
GPUはもう少し汎用性があるので、エンコード以外のフィルタ処理とかにもGPUを利用できる環境だったら有利になるはず。AviUtlでそういう環境を作れるかわからんけど。