fc2ブログ
 

UtVideo T2が公開

梅澤 威志さんのビデオコーデックUtVideoの最新バージョン19.0.1に新しく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に圧縮できるか)
圧縮モードサンプル1
圧縮しにくい
 サンプル2
圧縮しやすい
UtVideo T2 Ver19.0.1UMY23.124.10
AMV4 Ver4.10DY33.094.95

圧縮しにくいサンプル1ではUtVideo T2:UMY2がわずかに良い
圧縮しやすいサンプル2ではAMV4:DY3が大幅に良い


■まとめ
圧縮しにくい映像サンプルではAMV4:DY3とUtVideo T2の性能は処理速度、圧縮効果ともにほぼ同等なので驚いた。
一方、圧縮しやすい映像サンプルではAMV4:DY3がまだまだ有利なので安堵した。

AMV4ではフレーム間圧縮や二次圧縮と言った圧縮効果を高めるための仕組みが既に含まれていますので、その差がまだまだあると感じました。UtVideo T2もこれから圧縮効果を高める仕組みに取り組んでいくかと思うので、圧縮効果をどこまで高めることができるか、また、圧縮効果を高めた時に処理速度を維持できるかと言ったところがポイントになっていくと思います。


IO DATA社製 フルHDキャプチャカード GV-USB3/HD

IO DATA社からUSB3.0接続のフルHDキャプチャカード「GV-USB3/HD」(以下GV-USB3)のサンプル品を頂きましたので早速使ってみました。
なお、私はアマレコTVの作者なのでアマレコTV上でGV-USB3を使う場合の話が中心となります。

パッケージ
101パッケージ

内容物
102内容


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

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



なお、キャプチャ元となるビデオ信号(リフレッシュレート)が60Hzの場合は
202_video60hz.png

アマレコTV4のフォーマット欄でfps=60.00のものを選択します。
203アマレコデバイス設定60p

204_60hz59hz.png

60Hzのビデオ信号を59.94fpsで録画すると(59.94Hzを60fpsで録画する場合も)大きな問題とはなりませんが、約16秒毎に音ズレ補正が生じます。
この場合、約16秒毎に(-)のドロップがカウントされ、1フレーム間引かれます。



■動作確認
Intel Haswell Core i7とAMD Ryzen R7のPCで動作確認を行いました。

 PC1
Intel Haswell
PC2
AMD Ryzen
OSWindows 8.1 x64 ProfessionalWindows 10 x64 Home
CPUIntel Core i7-4770 3.40GHzAMD Ryzen 7 1800X 3.6GHz
マザーボードASRock H87 PerformanceMSI B350 TOMAHAWK
メモリDDR3 8GB(4GBx2) 1600MHzDDR4 16GB (8GBx2) 2800MHz
ビデオカードNVIDIA GeForce GTX 1050 TiNVIDIA 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のレポートファイルの一部
301ryzen_drop.png

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負荷(PC1 Haswell)
キャプチャソフトCPU負荷スクリーンショット
GV-USB3 HD Mix Capture
Ver 1.00
10 - 11%401gvusb3prev.png
GV-USB3 HD Mix Capture
Ver 1.00
フルスクリーン
21 - 26 %402gvusb3fullscreen.png
アマレコTV4
Ver4.11
オーバーレイレンダラー
3 %403amarec_prev.png


HD Mix Captureのプレビューは1分程度眺めていると何度かくるくるベンチDX11の動きがガクガクします(HD Mix Captureの表示フレームレートは安定しない)。
また、HD Mix Captureをフルスクリーンにすると更にCPU負荷が高くなるようです(タスクマネージャのグラフの盛り上がっている分部がフルスクリーン状態)。なんとなくフルスクリーンにすることで表示フレームレートが安定する気がしますが、やはりガクガクする様子が見て取れます。
アマレコTV4はオーバーレイレンダラーを使っているためスクリーンショットに映りませんが、表示フレームレートは安定しています。
アマレコTV4でもEVRを使うとHD Mix Captureと同様に表示フレームレートは不安定になります。



録画中のCPU負荷 1080p 59.94fps 録画時間 約60秒(PC1 Haswell)
キャプチャソフト録画処理コーデック設定CPU負荷ファイル
サイズ
約1分録画
スクリーン
ショット
GV-USB3
HD Mix Capture
Ver 1.00
CPUソフト
エンコ
最高
画質
30 %約 124 MB501gvusb3cpu.png
GPUQSV最高
画質
13 - 15 %約 224 MB502gvusb3qsv.png
GPUNVEnc最高
画質
11 - 12 %約 64 MB503gvusb3nv.png
アマレコTV4
Ver4.11
CPUAMV4DS35 %約 1940 MB504amarec_amv4ds3.png

HD Mix Captureはキャプチャソフトを起動してプレビューした状態でCPU負荷がやや高いです。
アマレコTV4+AMV4は可逆圧縮なので高画質な代わりにファイルサイズが大きくなります。

CPU負荷がやや高いけど、高画質でファイルサイズを小さくできるHD Mix Captureに対し、ファイルサイズは大きくなるけどCPU負荷が低く完璧な画質のアマレコTV4と言ったところでしょうか。



■録画時のフレーム取りこぼしについて
他のPCで実行しているくるくるベンチDX11の様子を フルHD 1080p 59.94Fpsで1分間録画して約3600フレームのうち同じ画像が何枚録画されているか確認してみました。
くるくるベンチDX11はフレームカウント値が毎フレーム更新されるため、正常であれば同じフレーム画像は一枚も録画されません。

録画時のフレーム取りこぼし(PC1 Haswell)
キャプチャソフトコーデック設定全フレーム数検出された
同じ画像数
割合
GV-USB3
HD Mix Capture
Ver 1.00
ソフトエンコ最高画質3661 Frame368 Frame約 10 %
QSV最高画質3711 Frame223 Frame約 6 %
NVEnc最高画質3649 Frame172 Frame約 4 %
アマレコVT4
Ver4.11
AMV4DS33724 Frame1 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%記録されてしまう)





テーマ : PC周辺機器     ジャンル : コンピュータ

スーパーアマレココ & AMV4ビデオコーデック 正式版公開

ホームページでスーパーアマレココ Ver4.20の正式版 と AMV4ビデオコーデック Ver4.10の正式版 を公開しました。
不具合等が無かったため、いずれもベータ版と同じ内容となっています。


■スーパーアマレココ 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

YUV 12bitキャプチャに対応しパフォーマンスが向上したスーパーアマレココ Ver4.20とShadowPlay(現在はShare機能ですが この記事ではなじみのあるShadowPlayと表記します)の性能をゲームソフトのベンチマークスコアで比較します。

アマレココ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% 
ShadowPlayYUV 12bit25689 -2.1% 
スーパーアマレココ Ver4.20YUV 12bit25626 -2.3% 
スーパーアマレココ Ver4.11YUV 16bit25254 -3.7% 


ベンチマークスコア 内訳
録画1回目2回目3回目4回目5回目平均値
録画無し録画なし[26224]26224----26224 
ShadowPlay
デスクトップキャプチャ
ShadowPlay.jpg 256972567225774256612564325689 
アマレココ
Ver4.20
amarec420.jpg256952537925627256812575125626 
アマレココ
Ver4.11
amarec411.jpg 253382525725451249422528425254 



3.まとめ
スーパーアマレココ Ver4.20の2回目で低いスコアがあるため 平均値でShadowPlayの方が良い結果となりましたが、2回目のスコアを除外したスーパーアマレココVer4.20の平均スコアは25688となりShadowPlayと同等となります。
テストは沢山行っていますが、平均値の取り方、データの拾い方次第で優劣が変わるレベルですので、この条件で比較する限りはShadowPlayとスーパーアマレココ Ver4.20は同性能と言えます。


最後にYUV16bit (AMV4:DY3)とYUV 12bit(AMV4:DS3)のファイルサイズを比較します。

FFベンチ1回分の録画ファイルサイズ(FHD 約30000フレーム)
録画コーデックフレーム数ファイルサイズ ビットレート
ShadowPlayH264
YUV 12bit
非可逆
32950 2,895 MB約 42 Mbps 
スーパーアマレココ Ver4.20AMV4:DS3
YUV 12bit
可逆
30000 16,955 MB約 271 Mbps
スーパーアマレココ Ver4.11AMV4:DY3
YUV 16bit
可逆
30000 21,644 MB約 346 Mbps 

AMV4:DY3に対しAMV4:DS3は約21%ファイルサイズが小さくなり、AMV4ビデオコーデック Ver4.10の効果が得られていることが分かります。




スーパーアマレココ Ver4.2 YUV 12bitキャプチャモード追加

スーパーアマレココにYUV 12bitキャプチャモードを追加しました。従来のYUV 16bitモードから比べビデオメモリからシステムメモリへ転送するデータ量および、AMV4ビデオコーデックで処理するデータ量が共に25%減るため、より高速、低負荷での録画が可能となります。
また、録画用のリングバッファに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以上になるようならスーパーアマレココの録画詳細設定にある「リングバッファサイズ」を増やしてみてください。
尚、(+)および(-)の値はキャプチャ処理のドロップフレームではないので関係ありません。(リングバッファサイズを増やしても変わりません)

size.png
取込み枠ボタンの上で右クリックするとキャプチャサイズを選択するメニューが表示されます。



■ダウンロード
・スーパー アマレココ Ver4.20 ベータ版

・AMV4ビデオコーデック YUV 12bit圧縮モード(DS3)追加 ベータ版


不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。
特に問題がなければ、このバージョンを正式版としてホームページで公開する予定です。


AMV4ビデオコーデック YUV 12bit圧縮モード(DS3)追加 ベータ版

既存のDR2、DR3、DY2、DY3に加え、新たにDS3 (YUV 12bit での圧縮)を追加しました。
あと、RyzenでSSE命令を優先的に使うようになります。
現在はベータ版です。少々のことは自力でやりくりできる方が対象となります。

amv410.png 

■インストール
初めてAMV4ビデオコーデックをインストールする場合は amv4_setup_64bit.msi を実行して新規インストールしてください。
既にAMV4ビデオコーデックを利用している場合は amv4_update_64bit.bat を実行することで上書きインストールできます。


■性能
PC2 Kabylake 7700K
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対応。動作クロックは自動設定。


Kabylake 7700K  4.2GHz - 4.5GHz  HD画質(1280x720) シングルスレッド処理
CodecMode ModuleEncode
FPS
 Decode
FPS
圧縮効果ファイルサイズ
MByte
AMV4DY3AVX2.01427 1473 3.09 1,241 MB 
AMV4DS3AVX2.01754 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」と同じ内容となります。
CPU設定

・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 可逆圧縮ベンチマーク

3月3日に発売された、いま話題のAMD社製CPUであるRyzen 7 1800Xと今年初めに発売された最新のIntel社製CPU Core i7-7700K(Kaby Lake)で可逆圧縮コーデッを使ったベンチマークテストを行いました。
シングルスレッド処理における各CPUの性能やSSE命令およびAVX2命令の挙動を見ていきます。


■テスト方法
動画ファイル Mystery of the Nile (こちらのサンプル動画1)を1280 x 720、YUY2の未圧縮に変換。
その動画ファイルをAMV4ビデオコーデックのDY3設定でエンコード、デコードした際の処理時間(FPS:一秒間に何フレーム処理できるか)を計測します。
両CPU共、動作クロックはRyzenの定格である3.6GHzになるよう設定。
メモリの動作クロックも両方とも2133MHzに設定し、なるべく同じ条件でテストします。


■テスト環境
PC1 Ryzen 1800X
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で動作しますが完全にクロックを固定できていません。


PC2 Kabylake 7700K
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で無効化、動作クロックがテスト中に変動しないようにしています。


Software
 AMV4 Video Codec Ver4.02
 CodecBench64.exe Ver1.01 自作のベンチマークソフト(非公開)



■結果
Ryzen 1800X 3.6GHz  HD画質 シングルスレッド処理
CodecMode ModuleEncode
FPS
 Decode
FPS
AMV4DY3AVX2.0643 704 
AMV4DY3SSE4.1643 880 


Kabylake Core i7 7700K 3.6GHz  HD画質 シングルスレッド処理
CodecMode ModuleEncode
FPS
 Decode
FPS
AMV4DY3AVX2.01106 1169 
AMV4DY3SSE4.1747 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における豆知識かもしれません。

AMV4setting.png


テーマ : PCパーツ     ジャンル : コンピュータ

アマレココ4 その9 GPU処理の最適化

アマレココ4の優位性はAMV4ビデオコーデックをはじめとしたCPU処理(※)にあります。
しかし、前回の記事で紹介したように「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 MHz24 %132 MBkidoumae_20161102202452c0c.jpg
ベータ1:プレビュー2 %540 MHz34 %199 MBb1_preview.jpg
ベータ1:録画中5 %540 MHz45 %203 MBb1_rec.jpg
ベータ2:プレビュー2 %324 MHz48 %173 MBb2_preview.jpg
ベータ2:録画中5 %540 MHz34 %178 MBb1_rec.jpg


CPUの使用率はプレビュー、録画中ともに変わっていないことがわかります。

プレビュー中は、ベータ1はGPUクロックが高く、GPU使用率が低い結果となりました。
ベータ2では逆にGPUクロックが低く、GPU使用率が高い結果となっています。
クロックが一致しないので最適化の効果があるのかどうか何とも言えません。
一応、クロックと使用率を掛けた値ではベータ2の方が低いので、最適化の効果が得られているのかなと思います。

録画中はGPUの動作クロックがともに540 MHzとなり、GPU使用率が45%から34%に下がっているので、最適化の効果がはっきりわかります。


なお、GTX1080で同様のテストを行いましたがGPUクロックがそろわず、明確な差は見て取れませんでした。
クロックと使用率を掛けた値でもほとんど同じ値でしたので、GTX1080レベルになると微差なのかもしれません。




3.ノートPCでは・・・
amarecco4beta2_notepc.jpg

こちらはノート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 一般公開延期と課題

今週末にオンラインヘルプを作って一般公開する予定でしたが、もう少し頑張ろうと思う部分が出てきたので2週間程延期することにしました。それまではベータ版をお試し頂ければと思います。また、不具合などありましたらご報告いただけると助かります。

今のところ不具合も見つかっていないですし、不具合報告もゼロなので、このままベータ版を正式版として一般公開するつもりでいました。
ところが、ファイナルファンタジー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 ベータ版公開

お待たせいたしました、アマレココ4のベータ版を公開します。
オンラインヘルプはまだなので、少々のことは自力でやりくりできる方が対象となります。

amarecco4_2016102122065250d.png

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 Ver4.00 ベータ版

アマレココ4 その10 スーパー ベータ2 公開

不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。


 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
04 | 2023/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ アマレコVR AMVコーデック Oculus Quest アマレココ アマミキ! コーデック gQuest SC500 動画配信 Pico GO ファンタジーリモート 4K アマレコライト プラグイン G2 AMV4 oculus Unity SC512 ライブ機能 パススルー機能 デスクトップキャプチャ AVX2 Passthrough FAQ リモートソフト 質問コーナー ニコニコ動画 HDキャプチャ DirectShow 120Hz 背景透過 遅延 可変再生速度 レゴ 解説動画 Meta 組み換え VR LEGO XL2420T GV-USB2 2 アセット機能 液晶モニター 倍速液晶 デインターレース PS4 ベンチマーク アマステ AMV2MT Asset Intensity Pico4 MetaQuest Pro VRonVR MonsterX3A designs VideoKeeper2 AVX Alternate XCAPTURE-1 SD-USB2CAP4 GV-USB インストール RDT233WX-Z 32ZP2 31006 ffmpeg WindowsMR Rift 画像処理 31024 T2 60fps RGBキャプチャ UtVideo Shadow Play RYZEN 電源オプション HDCP Haswell HDMI 音遅延 QSV MonsterXU3.0R LameACM MP3 31021 フィギュア 音ズレ 録画 ゲームスムーズモード HT OBS MPC ハイパースレッディングテクノロジー NVEnc 液晶テレビ DirectShowFilter プレビュー 擬似NTSCキャプチャ SD-USB2CUP4 Livetube AtomでHDキャプチャ キャプチャーツール シンクライアント イベント IntensityPro DC-HD1 額縁遅延 REGZA ZP3 32ZP32 オーバーレイ リプレイ機能 モノステ 倍速駆動 倍速補完処理 キャプチャカード Robust Video Matting API APIパススルー機能 60Hz 検証 passthrough python pytorch ハンドジェスチャー パカラーススルー機能 AssetBundle 2.0 Tracking ファイルマネージャプラス SkyBox Hand AMPlayer 新プレイヤー機能 GPU使用率 LAVFilters Preferred 可逆圧縮 GV-USB3 Kabelake SSE SKnet Filter Tweaker Windows 90Hz 新アマレコVR MR VRコントローラー SteamVR VR動画 フレーム間圧縮 XCapture-1 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面