UtVideo T2が公開
或るプログラマの一生 [UtVideo] バージョン 19.0.1
今までのUtVideoはハフマン圧縮をメインとしていて昨今のCPUではあまり効率よく処理できず、処理速度的には頭打ち状態でしたが、UtVideo T2ではハフマン圧縮から離れSIMD処理を軸とした仕組みへと転換した模様。
これにより大幅な高速化を達成できたとのことなので、簡単に試してみました。
■処理速度について
YUY2(YUV4:2:2)をHaswell(AVX2)で処理した場合の評価です。
エンコードはAMV4:DY3が約1割早い
デコードはUtVideo T2が約1割早い
これくらいの差になると調整の範疇(圧縮効果と処理速度のトレードオフなど)と思われるのでAMV4と同等の高速処理を達成できたとみていいかと思います。
いずれもシングルスレッドで4K(YUY2)を60fps以上処理する能力があるため処理速度の面では十分な性能です。
■圧縮効果について
無圧縮の画像に対し何分の1に圧縮できるか(ファイルサイズをどこまで小さくできるか)の評価です。
サンプル1:比較的画質が悪かったり、大きく動く映像であるため、どのコーデックにおいても圧縮しにくいサンプル。
Mystery of the Nile
Youtube
サンプル2:画質が良く、動きが少ないため圧縮しやすいサンプル。
The Discoverers (IMAX)
Youtube
圧縮モード | サンプル1 圧縮しにくい | サンプル2 圧縮しやすい | |
UtVideo T2 Ver19.0.1 | UMY2 | 3.12 | 4.10 |
AMV4 Ver4.10 | DY3 | 3.09 | 4.95 |
圧縮しにくいサンプル1ではUtVideo T2:UMY2がわずかに良い
圧縮しやすいサンプル2ではAMV4:DY3が大幅に良い
■まとめ
圧縮しにくい映像サンプルではAMV4:DY3とUtVideo T2の性能は処理速度、圧縮効果ともにほぼ同等なので驚いた。
一方、圧縮しやすい映像サンプルではAMV4:DY3がまだまだ有利なので安堵した。
AMV4ではフレーム間圧縮や二次圧縮と言った圧縮効果を高めるための仕組みが既に含まれていますので、その差がまだまだあると感じました。UtVideo T2もこれから圧縮効果を高める仕組みに取り組んでいくかと思うので、圧縮効果をどこまで高めることができるか、また、圧縮効果を高めた時に処理速度を維持できるかと言ったところがポイントになっていくと思います。
IO DATA社製 フルHDキャプチャカード GV-USB3/HD
なお、私はアマレコTVの作者なのでアマレコTV上でGV-USB3を使う場合の話が中心となります。
パッケージ

内容物

アマレコTV4 Ver4.11の設定例 フルHD(1920x1080p) 59.94Hzの場合

デバイスは「GV-USB3」と書かれているものを選択します。
入力端子はHDMIのみなので選択肢はありません。
フォーマットの中では「fcc=YUY2」のものを選択します。なお、RGBを選択してもRGBでキャプチャできるわけではありません(YUV422でキャプチャしたものをRGBへ変換するだけのようです)。
なお、キャプチャ元となるビデオ信号(リフレッシュレート)が60Hzの場合は

アマレコTV4のフォーマット欄でfps=60.00のものを選択します。


60Hzのビデオ信号を59.94fpsで録画すると(59.94Hzを60fpsで録画する場合も)大きな問題とはなりませんが、約16秒毎に音ズレ補正が生じます。
この場合、約16秒毎に(-)のドロップがカウントされ、1フレーム間引かれます。
■動作確認
Intel Haswell Core i7とAMD Ryzen R7のPCで動作確認を行いました。
PC1 Intel Haswell | PC2 AMD Ryzen | |
OS | Windows 8.1 x64 Professional | Windows 10 x64 Home |
CPU | Intel Core i7-4770 3.40GHz | AMD Ryzen 7 1800X 3.6GHz |
マザーボード | ASRock H87 Performance | MSI B350 TOMAHAWK |
メモリ | DDR3 8GB(4GBx2) 1600MHz | DDR4 16GB (8GBx2) 2800MHz |
ビデオカード | NVIDIA GeForce GTX 1050 Ti | NVIDIA GeForce GTX 650 |
GV-USB3の接続はPC背面にあるマザーボード上のUSB3.0端子を使っています。
また、GV-USB3以外のUSB3.0デバイスは接続していません。
キャプチャ元となる映像機器はノートPCのHDMI出力 1080p 59.94Hz
いずれも数時間程度使ってみましたがあっさり動作しトラブルは発生しませんでした。
・デバイスマネージャに表示されないと言ったことはありませんでした。
・動作している最中にデバイスが切断されることもありませんでした。
・PCの再起動でデバイスを見失うこともありません。
ただしPC2 Ryznのパソコンでは1時間の録画の間に数フレームの取りこぼし(GV-USB3からアマレコTV4へフレームが送られてこない)が起こることがありました。1時間録画して取りこぼしゼロの場合もありましたので、その時のPCの状態に左右されると言ったところでしょうか。
なお、PC1 Haswellでは1時間の録画テストを何度か行いましたがGV-USB3が原因と思われるフレームの取りこぼしは確認されませんでした。
フレーム取りこぼしについて
PC2 Ryzenにて録画したときのアマレコTV4のレポートファイルの一部![]()
vd=で始まる行がキャプチャカードからフレームを受け取った際の情報で、前のフレームを受け取ってからの経過時間(インターバルタイム)などが記録されています。
VT=で始まる行が録画処理に関する情報で、音ズレ補正等の情報が記録されています。
vd=00:03:13.635s( 35ms)の行は前回フレームを受け取ってから35ms後にフレームを受け取っています。59.94Hzのビデオ信号をキャプチャしているので、通常16.6ms間隔でフレームを受け取ることになりますが、この時は1フレーム取りこぼしたため16msではなく35msとなっています。
続いて、VT=00:03:13.770s( 11606f)の行は録画に関する情報ですが、先の取りこぼしを受けて音ズレしないよう1フレーム水増ししています。
こんな感じでこの録画テストでは約1時間40分録画して、9フレームの取りこぼしがありました。
■同梱のキャプチャソフトについて
GV-USB3には「HD Mix Capture」と言うキャプチャソフトが同梱されています。
GPUエンコーダーに対応していたり、webカメラの映像を合成したり、マイクの音をミキシングすることができるため実況動画を作るのに便利なキャプチャソフトとなっています。
使い勝手も良く好印象ですが、CPU負荷が高いとの指摘がされているのでそのあたりを調べてみました。
キャプチャソフト | CPU負荷 | スクリーンショット |
GV-USB3 HD Mix Capture Ver 1.00 | 10 - 11% | ![]() |
GV-USB3 HD Mix Capture Ver 1.00 フルスクリーン | 21 - 26 % | ![]() |
アマレコTV4 Ver4.11 オーバーレイレンダラー | 3 % | ![]() |
HD Mix Captureのプレビューは1分程度眺めていると何度かくるくるベンチDX11の動きがガクガクします(HD Mix Captureの表示フレームレートは安定しない)。
また、HD Mix Captureをフルスクリーンにすると更にCPU負荷が高くなるようです(タスクマネージャのグラフの盛り上がっている分部がフルスクリーン状態)。なんとなくフルスクリーンにすることで表示フレームレートが安定する気がしますが、やはりガクガクする様子が見て取れます。
アマレコTV4はオーバーレイレンダラーを使っているためスクリーンショットに映りませんが、表示フレームレートは安定しています。
アマレコTV4でもEVRを使うとHD Mix Captureと同様に表示フレームレートは不安定になります。
HD Mix Captureはキャプチャソフトを起動してプレビューした状態でCPU負荷がやや高いです。
アマレコTV4+AMV4は可逆圧縮なので高画質な代わりにファイルサイズが大きくなります。
CPU負荷がやや高いけど、高画質でファイルサイズを小さくできるHD Mix Captureに対し、ファイルサイズは大きくなるけどCPU負荷が低く完璧な画質のアマレコTV4と言ったところでしょうか。
■録画時のフレーム取りこぼしについて
他のPCで実行しているくるくるベンチDX11の様子を フルHD 1080p 59.94Fpsで1分間録画して約3600フレームのうち同じ画像が何枚録画されているか確認してみました。
くるくるベンチDX11はフレームカウント値が毎フレーム更新されるため、正常であれば同じフレーム画像は一枚も録画されません。
キャプチャソフト | コーデック | 設定 | 全フレーム数 | 検出された 同じ画像数 | 割合 |
GV-USB3 HD Mix Capture Ver 1.00 | ソフトエンコ | 最高画質 | 3661 Frame | 368 Frame | 約 10 % |
QSV | 最高画質 | 3711 Frame | 223 Frame | 約 6 % | |
NVEnc | 最高画質 | 3649 Frame | 172 Frame | 約 4 % | |
アマレコVT4 Ver4.11 | AMV4 | DS3 | 3724 Frame | 1 Frame | 約 0 % |
HD Mix Captureについてはかなり厳しい結果です。
アマレコTV4は動画の1フレーム目と2フレーム目が同じ画像でした。録画開始直後はどうしても不安定になるため冒頭の重複フレームについてはしょうがないと言ったところです。
先にも書きましたが、アマレコTV4を使えばGV-USB3を使って1時間録画してもフレームの取りこぼしゼロ(ないしは数フレーム)と言った結果ですのでGV-USB3自体はしっかりしたキャプチャカードと感じますが、同梱のHD Mix Captureに関してはちょっと厳しいと感じました。
■まとめ
GV-USB3自体
・USB3.0で危惧される相性問題は私のところでは発生しなかった
・アマレコTV4にて59.94Hz、60.00Hz両方可(選択可)
・画面の端が取り込めない(欠ける)と言ったことは無い(1920x1080をきっちりキャプチャできた)
・パソコン(USB3.0)によっては1時間で数フレームの取りこぼしが起こるかもしれない
同梱のHD Mix Capture
・CPU負荷が常時やや高め
・プレビューはフレームレートが安定しない(パススルーを使えばいい)
・録画機能は取りこぼしが目立つ(同じ画像が4%~10%記録されてしまう)
スーパーアマレココ & AMV4ビデオコーデック 正式版公開
不具合等が無かったため、いずれもベータ版と同じ内容となっています。
■スーパーアマレココ Ver4.20 更新内容
(1) キャプチャ処理のカラーフォーマットにYUV 12bit を追加
(2) 録画詳細設定に「テクスチャをリングバッファにする」を追加
(3) RGB・YUV変換処理の際の色のサンプリング方式を平均値に変更
(4) 取込み枠ボタンの上で右クリックするとキャプチャサイズを選択するメニューを表示するようにした
(5) AMV4 ビデオコーデック Ver4.10以上が必要になりました
(6) 設定画面を一度でも開くとスーパーアマレココ終了時に異常終了する可能性がある不具合を修正
(7) マルチモニター環境で キャプチャ対象のモニター以外にマウスカーソルがあるとキャプチャ画像が乱れる不具合を修正
ブログ記事:スーパーアマレココ Ver4.2 YUV 12bitキャプチャモード追加
■AMV4ビデオコーデック Ver4.10 更新内容
(1) AMV4 Ver4.02と上位互換、ライセンスキーもそのまま使えます。
(2) RyzenでCPU設定を「自動」とした場合は(RyzenではAVX命令が使えるけど 処理が遅くなる場合があるため)SSE版のモジュールを使います。AVX命令は使いません。
(3) CPU設定にRyzen用の「ZEN」を追加しましたが、現状「SSE4.1」と同じ内容となります。
(4) DR2、DR3、DY2、DY3はVer4.02と同じ内容となります。
(5) 入出力フォーマットにNV12が追加されました。
(6) 対応OSにWindows10 64bit版を追加。
(7) 対応OSからWindows7を削除。Windows7での動作確認は行っておりません。
ブログ記事:AMV4ビデオコーデック YUV 12bit圧縮モード(DS3)追加 ベータ版
■ダウンロード
ホームページでダウンロードしてください。
スーパーアマレココ vs ShadowPlay 第2Round
アマレココ4 その11 vs ShadowPlay
の続編となります。
スーパーアマレココのバージョンが4.20になったことと、テストに使うPCが最新の環境に変わっています。
1.テスト方法、テスト環境
デスクトップをFHD (1920x1080)、59.94Hzに設定し、FF14ベンチをウインドウモード、HDサイズ(1280x720)、DirectX11、高品質(ノートPC)で実行。録画しない場合と、各キャプチャソフトでデスクトップ全体を録画した場合のベンチマークスコアで評価します。
・スーパーアマレココ Ver4.20 録画設定
デスクトップ全体1920x1080を59.94fps、YUV 12bitでキャプチャ、AMV4:DS3で圧縮、テクスチャをリングバッファにするON
・スーパーアマレココ Ver4.11 録画設定
デスクトップ全体1920x1080を59.94fps、YUV 16bitでキャプチャ、AMV4:DY3で圧縮、テクスチャをリングバッファにするOFF(設定項目なし)
・ShadowPlay録画設定
プライバシー管理で「はい」を選択し、デスクトップ全体1920x1080を59.94fps、50Mbpsで録画します。カラーフォーマットはYUV 12bitと思われます。
(アマレココ4 その11 vs ShadowPlay のShadowPlayデスクトップキャプチャと同じ)
OS | Microsoft Windows 10 Home 64-bit |
CPU | Intel(R) Core(TM) i7-7700K Kabylake 定格4.20GHz |
MB | ASUS PRIME Z270-K |
Memory | DDR4 16GB (8GB x 2 Dual channel) 2666MHz |
Video | NVIDIA GeForce GTX 1080 8GB |
Monitor | 1920x1080 59.94 HDMI 接続 |
録画HDD | ST4000DM000 4TB |
Software | SUPER AmaRecCo Ver4.11 SUPER AmaRecCo Ver4.20 AMV4ビデオコーデック Ver4.10 ShadowPlay GeForce Experience Ver3.5.0.70 Driver 381.65 ファイナルファンタジーXIV: 蒼天のイシュガルド ベンチマーク |
備考 | CPUは4コア、8スレッド、HTT対応、AVX2対応。動作クロックを4.2GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。 |
2.テスト結果
録画 | カラーフォーマット | ベンチスコア (5回の平均値) | スコア 低下率 |
録画無し | - | 26224 | -0.0% |
ShadowPlay | YUV 12bit | 25689 | -2.1% |
スーパーアマレココ Ver4.20 | YUV 12bit | 25626 | -2.3% |
スーパーアマレココ Ver4.11 | YUV 16bit | 25254 | -3.7% |
録画 | 1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均値 | |
録画無し | ![]() | 26224 | - | - | - | - | 26224 |
ShadowPlay デスクトップキャプチャ | ![]() | 25697 | 25672 | 25774 | 25661 | 25643 | 25689 |
アマレココ Ver4.20 | ![]() | 25695 | 25379 | 25627 | 25681 | 25751 | 25626 |
アマレココ Ver4.11 | ![]() | 25338 | 25257 | 25451 | 24942 | 25284 | 25254 |
3.まとめ
スーパーアマレココ Ver4.20の2回目で低いスコアがあるため 平均値でShadowPlayの方が良い結果となりましたが、2回目のスコアを除外したスーパーアマレココVer4.20の平均スコアは25688となりShadowPlayと同等となります。
テストは沢山行っていますが、平均値の取り方、データの拾い方次第で優劣が変わるレベルですので、この条件で比較する限りはShadowPlayとスーパーアマレココ Ver4.20は同性能と言えます。
最後にYUV16bit (AMV4:DY3)とYUV 12bit(AMV4:DS3)のファイルサイズを比較します。
録画 | コーデック | フレーム数 | ファイルサイズ | ビットレート |
ShadowPlay | H264 YUV 12bit 非可逆 | 32950 | 2,895 MB | 約 42 Mbps |
スーパーアマレココ Ver4.20 | AMV4:DS3 YUV 12bit 可逆 | 30000 | 16,955 MB | 約 271 Mbps |
スーパーアマレココ Ver4.11 | AMV4:DY3 YUV 16bit 可逆 | 30000 | 21,644 MB | 約 346 Mbps |
AMV4:DY3に対しAMV4:DS3は約21%ファイルサイズが小さくなり、AMV4ビデオコーデック Ver4.10の効果が得られていることが分かります。
スーパーアマレココ Ver4.2 YUV 12bitキャプチャモード追加
また、録画用のリングバッファにDirectXのテクスチャを使うことでテクスチャをリングバッファへコピーする処理を省略できるようになりました。
これらの効率アップによりスーパーアマレココ Ver4.11と比べ ベンチマークスコアが1%程度向上します。

■更新内容
(1) キャプチャ処理のカラーフォーマットにYUV 12bit を追加
(2) 録画詳細設定に「テクスチャをリングバッファにする」を追加
(3) RGB・YUV変換処理の際の色のサンプリング方式を平均値に変更
(4) 取込み枠ボタンの上で右クリックするとキャプチャサイズを選択するメニューを表示するようにした
(5) AMV4 ビデオコーデック Ver4.10以上が必要になりました
(6) 設定画面を一度でも開くとスーパーアマレココ終了時に異常終了する可能性がある不具合を修正
(7) マルチモニター環境で キャプチャ対象のモニター以外にマウスカーソルがあるとキャプチャ画像が乱れる不具合を修正
YUV 12bitキャプチャはAMV4ビデオコーデック専用です。その他のコーデックは使えません。
その他のコーデックを使う場合はYUV 16bitを選択してください。
「テクスチャをリングバッファにする」は初期値でONとなっています。
もし、ドロップフレームが生じるようならリングバッファサイズを増やして(1000ミリ秒など)ください。
それでも改善しない場合は「テクスチャをリングバッファにする」をOFFにしてみてください。

(D)が1以上になるようならスーパーアマレココの録画詳細設定にある「リングバッファサイズ」を増やしてみてください。
尚、(+)および(-)の値はキャプチャ処理のドロップフレームではないので関係ありません。(リングバッファサイズを増やしても変わりません)

取込み枠ボタンの上で右クリックするとキャプチャサイズを選択するメニューが表示されます。
■ダウンロード
・スーパー アマレココ Ver4.20 ベータ版
・AMV4ビデオコーデック YUV 12bit圧縮モード(DS3)追加 ベータ版
不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。
特に問題がなければ、このバージョンを正式版としてホームページで公開する予定です。
AMV4ビデオコーデック YUV 12bit圧縮モード(DS3)追加 ベータ版
あと、RyzenでSSE命令を優先的に使うようになります。
現在はベータ版です。少々のことは自力でやりくりできる方が対象となります。

■インストール
初めてAMV4ビデオコーデックをインストールする場合は amv4_setup_64bit.msi を実行して新規インストールしてください。
既にAMV4ビデオコーデックを利用している場合は amv4_update_64bit.bat を実行することで上書きインストールできます。
■性能
OS | Microsoft Windows 10 Home 64-bit |
CPU | Intel(R) Core(TM) i7-7700K 定格4.20GHz TB時4.5GHz |
MB | ASUS PRIME Z270-K |
Memory | DDR4 16GB (8GB x 2 Dual channel) 2133MHz |
Software | ・AMV4 Video Codec Ver4.10 ・CodecBench64.exe Ver1.05 自作のベンチマークソフト(非公開) |
備考 | CPUは4コア、8スレッド、AVX2対応。動作クロックは自動設定。 |
Codec | Mode | Module | Encode FPS | Decode FPS | 圧縮効果 | ファイルサイズ MByte |
AMV4 | DY3 | AVX2.0 | 1427 | 1473 | 3.09 | 1,241 MB |
AMV4 | DS3 | AVX2.0 | 1754 | 1855 | 3.46 | 1,108 MB |
DY3と比べDS3は処理速度が約20%早くなります。
また、ファイルサイズも10%から15%程度すくなくなります。
■その他
・AMV4 Ver4.02と上位互換、ライセンスキーもそのまま使えます。
・RyzenでCPU設定を「自動」とした場合は(RyzenではAVX命令が使えるけど 処理が遅くなる場合があるため)SSE版のモジュールを使います。AVX命令は使いません。
・CPU設定にRyzen用の「ZEN」を追加しましたが、現状「SSE4.1」と同じ内容となります。

・DR2、DR3、DY2、DY3はVer4.02と同じ内容となります。
・入出力フォーマットにNV12が追加されました。
・DR2、DR3、DY2、DY3を選択した場合でも、入力された動画のフォーマットがNV12の場合はDS3で動作します。
・対応OSにWindows10 64bit版を追加。
・対応OSからWindows7を削除。Windows7での動作確認は行っておりません。
■ダウンロード
・AMV4 ビデオコーデック Ver4.10 ベータ版
次回はAMV4 Ver4.1に対応したスーパーアマレココを公開します。
Ryzen 1800X 、 Core-i7 7700K 可逆圧縮ベンチマーク
シングルスレッド処理における各CPUの性能やSSE命令およびAVX2命令の挙動を見ていきます。
■テスト方法
動画ファイル Mystery of the Nile (こちらのサンプル動画1)を1280 x 720、YUY2の未圧縮に変換。
その動画ファイルをAMV4ビデオコーデックのDY3設定でエンコード、デコードした際の処理時間(FPS:一秒間に何フレーム処理できるか)を計測します。
両CPU共、動作クロックはRyzenの定格である3.6GHzになるよう設定。
メモリの動作クロックも両方とも2133MHzに設定し、なるべく同じ条件でテストします。
■テスト環境
OS | Microsoft Windows 10 Home 64-bit |
CPU | AMD Ryzen 7 1800X 3.6GHz (100MHz x 36) |
MB | MSI B350 TOMAHAWK |
Memory | DDR4 16GB (8GB x 2 Dual channel) 2133MHz |
備考 | CPUは8コア、16スレッド、AVX2対応。動作クロックをBIOSにて全コア3.6GHz(定格)に設定しましたが アイドル状態になると3.1GHzまで低下します。テスト中はほぼ3.6GHzで動作しますが完全にクロックを固定できていません。 |
OS | Microsoft Windows 10 Home 64-bit |
CPU | Intel(R) Core(TM) i7-7700K 定格4.20GHz テスト時は3.6GHz (100MHz x 36) |
MB | ASUS PRIME Z270-K |
Memory | DDR4 16GB (8GB x 2 Dual channel) 2133MHz |
備考 | CPUは4コア、8スレッド、AVX2対応。動作クロックをRyzenと同じ全コア3.6GHzで固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。 |
AMV4 Video Codec Ver4.02 |
CodecBench64.exe Ver1.01 自作のベンチマークソフト(非公開) |
■結果
Codec | Mode | Module | Encode FPS | Decode FPS |
AMV4 | DY3 | AVX2.0 | 643 | 704 |
AMV4 | DY3 | SSE4.1 | 643 | 880 |
Codec | Mode | Module | Encode FPS | Decode FPS |
AMV4 | DY3 | AVX2.0 | 1106 | 1169 |
AMV4 | DY3 | SSE4.1 | 747 | 646 |
■考察
AVX2を使ったKabylakeが突出した性能を発揮していることが解ります。ちなみにこのFPSが540を超えると 理論上4K動画を秒間60フレーム以上処理する能力があります。
一方、RyzenはAVX2とSSE4どちらでもエンコード処理はほぼ同じ性能となっています。AVX2命令を使っても性能が向上しないためこのテストではKabylakeと比べると少し見劣りする結果となりました。
PC Watchのこちらの記事によると
Ryzenの場合256bitのAVX命令は128bitのマイクロオペレーションコード2つに分解して処理するためAVX命令、SSE命令どちらを使っても単位時間あたりに処理できるデータ数(Byte数)に違いが出ないようです。
また、Ryzenのデコード処理に注目するとAVX2版よりSSE4版の方が2割以上良い結果が出ています。
さらに言えば、KabylakeのSSE4版よりもRyzenの方がいい結果となっています。
これは単にAVX命令とSSE命令による違いではなく、プログラムの実装方法による違いが影響していると思われます。
まだ調べていないので予想となりますが、AMV4ビデオコーデックは条件分岐処理を排除することで処理速度の向上を図っているけど、SSE4版のデコード処理だけは条件分岐処理を使って処理するようになっているので、そのことがRyzenでは良い結果につながっているのかもしれません。
・RyzenはAVX命令を使ってもSSE命令を使ってもパフォーマンスは変わらない(プログラムによっては、AVXを使うとパフォーマンスが低下する場合がある)
・Ryzenは分岐処理を使っても高いパフォーマンスを維持できるかもしれない(未検証)
・KabylakeのAVX命令は額面通りの圧倒的な性能を発揮する(ただしAVX命令を活かせるプログラムは皆無に近い)
・AVX命令を活かせないプログラムの場合にどちらが有利かはプログラム次第、IPCは互角と言って良いのではないでしょうか。ただし、空冷で簡単に5GHzを達成するので動作クロックを考慮するとやはり1コアあたりの性能はKabylakeに軍配が上がることが多いと思います。
最後に、RyzenでAMV4ビデオコーデックを使う場合はSSE4を使うように設定した方が良いです(自動設定だとAVX2を使ってしまいます)。AMV4ビデオコーデック以外でもAVX命令を使うかどうか設定できるプログラムの場合にAVXを使わないように設定することで性能が向上する場合があるようなので、Ryzenにおける豆知識かもしれません。

アマレココ4 その9 GPU処理の最適化
しかし、前回の記事で紹介したように「GPUの性能が低く、CPUの性能が高いPC」の場合はゲームのベンチマークスコアの面でアマレココ4の優位性が全く得られず、スコアが伸びません。(タスクマネージャでCPU使用率を見ればアマレココ4の優位性ははっきりわかるけど、それがゲームのベンチマークスコアに全く反映されない)
そこで、GPU処理についても最適化を行うことにしました。
※ アマレコTV4とアマレココ4を比較した場合のアマレココ4の優位性はRGB・YUV変換やプレビュー処理をGPUで処理することにあります。これによりCPU使用率を大幅に下げることができています。
今回はGTX650 + Haswell i7(4770)にてFHD 60fpsで録画した際のGPU負荷について簡単にテストし、GPU処理の最適化によりどの程度の効果が得られるか見ます。
1.テスト方法
FHD(1920x1080)のデスクトップにくるくるベンチをHD(1280x720)で表示して、
・キャプチャソフト起動前
・キャプチャソフトを起動してプレビューしている状態(非録画)
・デスクトップ全体を録画(1920x1080 60fps)している状態(プレビューなし)
の3つの状態をモニターソフトで観察します。
なお、ベータ1は 公開中のアマレココ4 Ver4.00。
ベータ2は 開発中のバージョンとなります。
2.結果
CPU使用率 | GPUクロック | GPU使用率 | ビデオメモリ | スクショ | |
起動前 | 1 % | 324 MHz | 24 % | 132 MB | ![]() |
ベータ1:プレビュー | 2 % | 540 MHz | 34 % | 199 MB | ![]() |
ベータ1:録画中 | 5 % | 540 MHz | 45 % | 203 MB | ![]() |
ベータ2:プレビュー | 2 % | 324 MHz | 48 % | 173 MB | ![]() |
ベータ2:録画中 | 5 % | 540 MHz | 34 % | 178 MB | ![]() |
CPUの使用率はプレビュー、録画中ともに変わっていないことがわかります。
プレビュー中は、ベータ1はGPUクロックが高く、GPU使用率が低い結果となりました。
ベータ2では逆にGPUクロックが低く、GPU使用率が高い結果となっています。
クロックが一致しないので最適化の効果があるのかどうか何とも言えません。
一応、クロックと使用率を掛けた値ではベータ2の方が低いので、最適化の効果が得られているのかなと思います。
録画中はGPUの動作クロックがともに540 MHzとなり、GPU使用率が45%から34%に下がっているので、最適化の効果がはっきりわかります。
なお、GTX1080で同様のテストを行いましたがGPUクロックがそろわず、明確な差は見て取れませんでした。
クロックと使用率を掛けた値でもほとんど同じ値でしたので、GTX1080レベルになると微差なのかもしれません。
3.ノートPCでは・・・

こちらはノートPCで同様のテストをした時の様子です(GPUに関するモニターはありません)。
タスクマネージャのグラフの左半分がベータ1で録画していた部分、右半分がベータ2で録画しているところです。
CPU処理に関してはほとんど変更を行っていないので変化が無いはずです(先のテストでもCPUの使用率に違いは見て取れない)。
しかし、このノートPCでは録画中のCPU使用率が約48%から約38%へと大幅に低下しています。
憶測になりますが、ビデオカードを搭載していない(専用のビデオメモリを持たずシステムメモリの一部をビデオメモリとして使う)PCではGPU処理の一部をCPUが肩代わりしていると言ったところでしょうか。
GPU処理の最適化によりそういった部分がそぎ落とされたのでCPU使用率が下がったものと思われます。
ただし、同じオンボードグラフィックでもIvy BridgeのデスクトップPCではCPU使用率に差が見て取れなかったので、何がこういった差になるのか本当のところは不明です。
4.ゲームのベンチマークスコアで言うと
ベータ1と比べてベータ2はGTX650で5%程度のスコア向上、GTX1080で1%程度のスコア向上が見込めるかなと思います。
アマレココ4 ベータ2はもう少しテストして今週末ブログで公開予定です。
アマレココ4 その8 一般公開延期と課題
今のところ不具合も見つかっていないですし、不具合報告もゼロなので、このままベータ版を正式版として一般公開するつもりでいました。
ところが、ファイナルファンタジー14(FF14ベンチ)やストリートファイター4(SF4ベンチ)などのベンチマークソフトを使って他のキャプチャソフトと比較していたところ、アマレココ4が1番(ShadowPlayを除く)と言える条件がある一方で、トップスコアのキャプチャソフトから10%程度離されてしまう条件もありました。
そこで、全ての環境で一番は無理にしても、不利な条件でも僅差と言えるレベルまで持っていけないか延長戦に突入します。
以下、テストで見えてきたことを紹介します
■ビデオカード(GPU)の性能が上がるほどアマレココ4のスコアは他のキャプチャソフトに比べ優位になる
おそらくGeForce GTX1070とか1080までいくと、ほぼアマレココ4はトップ(ShadowPlayを除く)かトップクラスのスコアになると思います。
逆にGPUの性能が低くなるとCPUの性能とのバランスでアマレココ4の優位性が変わってきます。
GPUの性能が悪く、且つ、CPUの性能も悪ければ、はやりアマレココ4が優位となりますが、GPUは悪いけど、CPUの性能は良いといった場合(例 GeForce GTX650 + Haswell i7-4770)は、かなり悪いスコアとなる場合がありました。
GPU性能 | CPU性能 | アマレココ4の優位性 |
良い | 良い | ちょっとでもCPU処理がスコアに反映される条件ならアマレココ4が優位 |
良い | 悪い | CPU処理が如実にスコアに反映されるためアマレココ4が圧倒的に有利 |
悪い | 悪い | ちょっとでもCPU処理がスコアに反映される条件ならアマレココ4が優位 |
悪い | 良い | CPU処理がスコアに反映されなくなるとアマレココ4(AMV4)のスコア面の優位性は皆無 |
■アマレココ4はFF14ベンチが苦手でSF4ベンチは得意
GPUの性能が良ければどちらもいい結果が出るのですが、先のようにGPUの性能が悪くCPUが良い場合は、FF14ベンチのスコアが他のキャプチャソフトと比べとても悪くなりました。
推測になりますが、ゲーム側の処理が60fpsを維持できなくなると、アマレココ4のスコアが悪くなる印象です。
なお、SF4ベンチの方はこの条件でもゲーム側の処理が60fpsを維持できており、アマレココ4はトップレベルのスコアとなります。
■GPUの性能が悪く、CPUの性能が良い場合のコーデックについて
GeForce GTX650 + Haswell i7-4770のような環境ではコーデックに処理の早いAMV4を使おうが、滅茶苦茶処理の遅いx264を使おうが、FF14ベンチ、SF4ベンチ共にベンチマークのスコアという形で差異は見て取れませんでした。
それぐらいゲーム側の処理がGPUに依存しておりCPUによる処理は完全に無関係な状態でのテストと言えます。
ですので、この条件でアマレココ4やAMV4を使ってもスコア面の優位性はありません。
■DirectXキャプチャとDpuplication API
SF4ベンチではDirectX系のキャプチャソフトが例外なく苦戦しているように見えました(SF4ベンチではDuplication API系が総じて有利と思われます)。
逆にDirectX系のキャプチャソフトがそろって上位を占めたのがGPUの性能が悪くCPUの性能が良い場合のFF14ベンチでした。
同じFF14ベンチでもGPUの性能が良い場合はキャプチャ方式の違いによる傾向は見て取れませんでした。おそらくCPUで処理する分部(主にコーデックの処理)で優劣が決まるものと思われます。
■キャプチャ時のカラーフォーマットによる違い
細かい差異になりますが、ビデオメモリからシステムメモリへ画像を転送する際のカラーフォーマットもベンチマークスコアにかかわってきます。
・RGB 32bit (1920x1080 60fps : 1秒あたり 約474MB )
・RGB 24bit (1920x1080 60fps : 1秒あたり 約355MB )
・YUV 16bit (1920x1080 60fps : 1秒あたり 約237MB )
・YUV 12bit (1920x1080 60fps : 1秒あたり 約177MB )
おもに、この4種類があり、1秒当たりの転送量が少ない方がベンチマークのスコア的に有利となり、多くのキャプチャソフトがYUV 12bitを採用しているようです。動画は最終的にYUV 12bit相当のフォーマットとなりますので妥当な選択です。
しかし、アマレココ4はRGB 32bitまたはYUV 16bitなのでこの点でやや不利となってしまいます。
GPUの性能が悪く、CPUの性能が良い環境ではこの差が絶対に超えられない差となりアマレココ4は僅差ですがどう足掻いてもトップに立てません。
なお、ShadowPlayにおいては圧縮したデータを転送するので、この点において、ShadowPlayと他のキャプチャソフトの間には超えられない壁があると思います。
例えば80Mbpsで録画するように設定した場合の理論上の転送量は10MBとなりますので、他のキャプチャソフトの10分の1以下です。
これに加えCPUを使ってエンコード処理をしなくていいのですから、ベンチマークのスコアで評価する限りShadowPlayを超えるキャプチャソフトというのはあり得ないのではないでしょうか。
■BandicamでNVENCを使うとベンチマークのスコアが低下する場合がある
ゲームをキャプチャする場合はBandicam内臓のMotion JPEGやQSVを使った方がスコア面では有利と思います。
下記の記事でBandicamのスコアが低いのもNVENCを使ってテストしているからではないでしょうか。
ゲームpcバンク「おすすめ!無料のゲーム録画ソフトで軽いのはどれか比較」
アマレココ4 その7 ベータ版公開
オンラインヘルプはまだなので、少々のことは自力でやりくりできる方が対象となります。

1.主な仕様
・対応OSはWindows8.1 / Windows10(※) 64bit版専用となります。
・32bit版のOSでは実行できません。
・Windows7以下はDesktop Duplication APIが非対応なので使えません。
・SSE4.1に対応したCPUが必須となります。
・DirectX11に対応したGPUが必須となります。
・シェアウエア(有料)のAMV4ビデオコーデックが必要です。
・AMV4ビデオコーデックのライセンス登録が済んでいない場合は録画時にAMV4のロゴが入ります。
※ Windows10で私は使えていますが、最終的に使えるかどうかはあなた次第です。アマレココ4が原因でうまく動作しないケースは今のところありません。
これはアマレコTV4にも言えることですが、Windows10でアマレコTV4が使えないという人も居るようなので、やはり使えるかどうかはあなた次第です。アマレコTV4がWindows10に対応していないから使えないという認識だと一生使えないかもしれませんよ。
また、Windows10でAVIファイルを再生していると途中でエラーになる人は、Windows10のアップデートをちゃんとやって最新の状態にすれば改善されるかもしれません。
私のところではWindows10でAVIファイルの再生(3時間程度のAVIファイルの再生)も問題なくできるようになりました。
(以前はこの記事「Windows10のWMPでAVIファイルが再生できない」のようにWindows10でAVIファイルを再生していると数分でエラーが出ました。)
2.簡単な使い方
・メイン画面
・設定画面
・起動オプションそのた
3.ダウンロード
・
アマレココ4 その10 スーパー ベータ2 公開
不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。