アマレココ4 その6 ストIV ベンチによるキャプチャテスト
カプコンのストリートファイターIV ベンチマークを使ってアマレココ4の性能をテストします。
くるくるベンチと異なりCPU負荷だけでなくゲームプログラムへ与える影響も分かります。
ストIVベンチを1600x900のウインドウモードで実行し、録画していない場合と、アマレココ4+AMV4(YUV:DY3)でデスクトップ全体(1920x1080)を59.94fpsで録画した場合を比較します。
ストIVベンチの設定

2.PCスペック
OS | Windows8.1 x64 Professional |
CPU | Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz Haswell |
MB | ASRock H87 Performance (Intel H87) |
Memory | DDR3 1600 16GB(8GBx2 Dual Cannel) |
VGA | NVIDIA GeForce GTX 650 1GB |
録画HDD | WD30EZRX 3TB |
Software | AmaRecCo4 開発版 くるくるベンチDX11 Ver1.00 |
備考 | CPUは4コア、8スレッド、HTT対応、AVX2対応。動作クロックを3.4GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。 |
3.結果
録画 | CPU負荷 | ベンチスコア |
録画なし | 約 10 ~ 14 %![]() | 92.37 fps![]() |
アマレココ4 AMV4 (YUV:DY3) 1920x1080 59.94fps | 約 14 ~ 17 %![]() | 79.64 fps![]() |
平均FPSが約13フレーム低下となりました。
また、録画中のCPU負荷は一概に言えませんが約3 ~ 4%程度増えています。
続いて、フレームの取りこぼしについても検証してみました。
4.フレーム取りこぼし検証方法
PC1でストIVベンチを実行してアマレココ4でデスクトップ全体を録画。
そのPC1のモニター出力(ビデオカードのHDMI出力)をPC2でビデオキャプチャカード(キャプチャボード)を使って録画。
PC1のアマレココ4で録画したビデオファイルとPC2のビデオキャプチャカードで録画したビデオファイルを比較して検証。
アマレココ4およびビデオキャプチャカードの双方に取りこぼしがなければ理屈の上では同じフレームが映っているので両映像を引き算したとき、ほぼ真っ黒な映像となるはずです。
5.検証動画の編集
まずAviUtlでPC2のビデオキャプチャカードで録画したファイルを読み込みます。
次に、PC1のアマレココ4で録画したファイルを拡張編集のLayer1へ読み込みます。
Y座標を一時的に下にずらして2つの映像を見えるようにします。
拡張編集の操作で似たシーンになるまで動画の再生位置を(大雑把に)調整します。
拡張編集の動画ファイルの画面から1フレーム単位の微調整をおこない、完全に同じフレームになるようにします。
シーンチェンジや一瞬光るエフェクトを目印に合わせるといいと思います。
最後にY座標をゼロに戻し、合成モードから「減算」を選択して完了です。
2つの動画の内容がほぼ一致する場合、引き算した値もほぼゼロとなるため真っ黒な映像となります。
取りこぼしなどフレーム単位で映像に食い違いが生じると下図のように異なる部分が一瞬見えます。
6.検証動画
アマレココ4のフレーム取りこぼしテスト(YouTube)
終始真っ黒となるためこの録画テストの間、アマレココ4とビデオキャプチャカードによる取りこぼしは双方とも無かったと言えます。
ちなみに取りこぼしがある場合は次のようになります。
取りこぼしがある場合の例(YouTube)
■注意事項
ビデオ信号とビデオキャプチャカードの仕様が適合している必要があります。
例えばビデオ信号(モニター出力のリフレッシュレート)が60Hzでキャプチャカードが59.94fpsだと調整が入り一致しなくなります。
ビデオキャプチャカードのビデオキャプチャソフトにアマレコTV4を使い映像のドロップがないことを確認すること。
ステータス欄で(+)や(-)のドロップがカウントされている場合は当然その部分で一致しなくなります。
録画が終わった後ドロップがゼロであることを確認してください。
同様にアマレココ4もドロップステータスを表示してゼロであることが前提となります。
長時間録画すると必ず(+)(-)の調整が入りますのでこの検証ができるはせいぜい数分です。
DirectXタイプのキャプチャソフトの場合は取りこぼしが無くても一致しない可能性があります。
これは、1秒間にモニターに出力する画像枚数と、ゲーム内でレンダリングされる画像枚数に食い違いがあるためです。
例えばゲームのFPSが70fpsで録画FPSが60の場合、70枚の画像を60枚に間引くことになりますが、その間引き方が画面表示と異なる場合があるためです。
Duplication APIの場合はゲームが70fpsでも得られる画像は60枚なので画面表示と一致するようです。
ゲーム側の処理がモニターのリフレッシュレートを下回る場合は一致しない可能性が高いです。
例えばゲームのFPSが50fpsで録画FPSが60fpsの場合、50枚の画像を60枚に水増ししますが、その水増しの仕方が画面表示とキャプチャソフトの処理で異なるためです。
Duplication APIの場合も得られる画像は50枚なので一致しない可能性が高いです。
何事もなければ明日ブログにてアマレココ4 ベータ版を先行公開します。
正式版の公開はホームページで来週を予定しています。