アマレコTV4 Ver4.10 ブログ先行公開 録画エンジン刷新 MonsterX3A対応など

【更新内容】
(1) 録画処理をフレームベースからタイムベースに変更
(2) ビデオソースフィルター上のオーディオキャプチャPINを使う「Embedded on Video Capture Device」を追加
(3) SKNET MonsterX3A へ対応
(4) 動作対象OSにWindows10 64bitを加えた
(5) 高度な設定に録画開始してすぐに停止した場合(録画時間が短かった場合)に録画したファイルをテンポラリフォルダへ移動するオプションを追加
(6) 設定画面の全般の保存先フォルダの履歴を保存して過去に使ったフォルダを簡単に選択できるようになった
(7) AMV4ビデオコーデック Ver4.10が必要
(8) ビデオキャプチャカードのドロップステータスがレポートファイルに反映されないのを修正
(9) カスタムフィルターのメモリーリークを修正
(10) デスクトップキャプチャフィルターのメモリーリークを修正
(11) デスクトップキャプチャでフレームの順序が狂う不具合を修正
(12) 設定画面のプレビューのアスペクト比を「指定値」にして設定画面から戻るとエラー落ちするのを修正
(13) アマレコTV4終了時にアクセスバイオレーションになる場合がある不具合を修正

■録画処理については前回の記事を見てください。
■「Embedded on Video Capture Device」も前回の記事で紹介した「Video Capture Device」と同じものです。


■MonsterX3Aへの対応
MonsterX3Aを複数枚同時に運用できるようになりました(※)。また、MonsterX3Aにビデオ信号が入力されていない場合にアマレコTVが数分間応答なしになってしまうのを大幅に軽減します。ただし、MonsterX3Aの都合ですので根絶とはなりません。

複数枚挿しで使っていない方のMonsterX3Aにビデオ信号が入力されていなくても 応答なしとはなりませんが、使おうとしているMonsterX3Aにビデオ信号が入力されていないと応答なしになってしまいます。
なお、応答なしになった場合の復旧するまでの時間は全体的に短くなります。


SKNET MonsterX3A 3枚挿しの例 (Windows 10 Home 64, Ryzen 7 1800X, MSI B350 TOMAHAWK, GeForce GTX 650)
settei_20171001222708cfa.png
ビデオキャプチャデバイスで3枚のMonsterX3Aを選択可能。オーディオキャプチャデバイスはいずれも「Embedded on Video Capture Device」を選択。
アマレコTV4を3つ用意してそれぞれ異なるMonsterX3Aを選択すれば3系統同時にプレビュー&録画可能です。

※ MonsterX3A自体は複数枚差し対応を謳っていません。複数枚差しについては自己責任での運用となります。


■テンポラリフォルダへ移動する
sette_temp.png

録画を開始した直後に設定ミスなどに気が付いて、撮りなおしをすることがあるかと思います。
その場合に録画時間が短かったファイルをテンポラリホルダー(録画先フォルダに「Temp」が作成されます)へ移動します。


■保存先フォルダの履歴
sette_path.png

24時間録画するような運用で1日目はAドライブ、2日目はBドライブ、3日目はまたAドライブと毎日録画先ドライブを変更するような場合に重宝します。


■録画設定:音声遅延
settei_delay.png

録画したビデオファイルの音声を映像に対し意図的に遅らせたり、進める(映像を遅らせる)ことができます。
通常は0ミリ秒としてください。


■ダウンロード
アマレコTV4 Ver4.10


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



アマレコTV4 中間報告 録画エンジンの刷新 MonsterX3A 二枚挿し

開発中のアマレコTV4の中間報告です。

■録画エンジンの刷新
現在、アマレコTV4の録画エンジン(フレームベース)をスーパーアマレココで採用した録画エンジン(タイムベース)のものへ置き換える作業を行っています。まだ、実装途中ですが良い結果が得られたので紹介します。


【テスト1】 アマレコTV4 v4.05(4.01と同等) MonsterX3A で ノートPCのHDMI出力(FHD 1080 30p)をキャプチャ

VT=10:02:33.965s(1083485f), Cap=1086163f( 0D), Drp=0, (+)372, (-)187
VT=10:02:33.999s(1083486f), Cap=1086164f( 0D), Drp=0, (+)373, (-)187
VT=10:02:51.765s(1084018f), Cap=1086695f( 0D), Drp=0, (+)373, (-)187
VT=10:02:51.799s(1084019f), Cap=1086697f( 0D), Drp=0, (+)373, (-)188
VT=10:02:51.833s(1084020f), Cap=1086698f( 0D), Drp=0, (+)373, (-)188


この結果は、私が所有する環境の中でキャプチャカードとキャプチャ元となるビデオ信号の組み合わせにおいて最も悪い結果が出るケースとなります。10時間ほど録画した際のレポートファイルの一部を抜粋したもので、簡単に内容を説明すると

・2行目 10時間2分33秒あたりで音声データが多く画像枚数が少ないと判断して1フレーム水増しした(プラスのドロップ)
・4行目 その後、10時間2分51秒あたりになると 逆に画像枚数が多くなり過ぎて音声データが少ないと判断して画像を1フレーム間引いた(マイナスのドロップ)

となっています。これは最初のフレームの水増しをやめておけば、その後の間引きを防げるので、数十秒や数分と言った長いスパンで見れば相殺できるケース(補正の必要がないケース)です。
理想としては、プラスとマイナスを相殺して、10時間録画した時点で水増し185フレーム、間引きゼロフレームとなってほしいところですね。


そこで、新しい録画エンジン(タイムベース)に変えてテストした結果が次のようになります。

【テスト2】 アマレコTV4 v4.10(開発中) MonsterX3A で ノートPCのHDMI出力(FHD 1080 30p)をキャプチャ

VT=10:00:21.445s(1079525f), Cap=1116752f, Drp=0, (+)185, (-)0, GapAvg=-28ms(-29)


見事、10時間録画しても間引きフレームのないパーフェクトな結果が得られました。

繰り返しになりますが、このケースはキャプチャカードとキャプチャ元のビデオ信号の組み合わせにより、アマレコTV4にとって あからさまに都合の悪い場合の話です。同じキャプチャカードでもビデオ信号が変われば既存のアマレコTV4で10時間録画しても相殺すべきフレームは0から数フレームに収まります。

【テスト3】 ビデオ信号をHD 720pに変えた例 アマレコTV4 v4.05(4.01と同等) MonsterX3A で ノートPCのHDMI出力(HD 720 60p)をキャプチャ(録画は30p)

VT=10:01:47.782s(1082127f), Cap=1926197f( 0D), Drp=0, (+)137, (-)0


ビデオ信号が変わったためドロップの傾向も変わっていますが、同じMonsterX3Aと既存のアマレコTV4でもほとんどのケースで打倒な結果が得られていることが判ります。

このようにアマレコTV4の次のバージョンではプラスとマイナスの両方のドロップが生じるケースを改善し、そのほとんどを相殺してより理想に近い(余計なフレームの水増しと間引きが無い)録画環境を実現できます。


■SKnet社のMonsterX3Aの二枚差しに対応
MonsterX3Aを二枚挿すと画面下部のオーディオキャプチャデバイスを選択するリストで
同じデバイス名 SKNET MonsterX3 HD Capture(Path 0)が2つ出てきてしまい、上手く識別できません。
amarectv4v410video_capture_device.png

次のバージョンではオーディオキャプチャデバイス欄に(Video Capture Device)が追加されます。
(Video Capture Device)を選択すると、上のリストのビデオキャプチャデバイスで選択したデバイスに組み込まれたオーディオキャプチャデバイスを使うようになりますので、オーディオキャプチャデバイスが同じデバイス名になってしまう場合でも二枚差しでの運用が可能となります。


【注意】
・MonsterX3Aは二枚差し対応を謳っていません。二枚差しについては自己責任でチャレンジしてください。
・MonsterX3AはFull HD 1080 30p対応を謳っていません。

二枚差しおよび、FHD 30pともにSKnetのHPで公開されている現時点での最新版ドライバ(Ver1.0.6.6)にて私のところではできるようになりました(製品付属CDのドライバではできなかったと思う)が、皆さんの環境でできる保証はありません。いずれも自己責任となり、自力でやりくりすることになります。
monx3a_driver.png


スーパーアマレココ & 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 マルチスレッド処理

8コア16スレッドのRyzenでマルチスレッド処理に対応したプログラムをテストします。


■Ryzen(マルチスレッド)の概要
task_cpu.png 

Ryzenには1つのCPUコアで2つのスレッドを動作させるSMT(Simultaneous MultiThreading)と言う仕組みがあります。
また、4つのCPUコアを一つのパッケージとしたCCX(Core Compulex)という構成になっています。
このCCXを2つ搭載することでRyzen 1800Xは8コア16スレッドとして動作します。

【参考記事 PC Watch】 
AMD「Ryzen 7」の半導体チップの姿


用語
論理プロセッサ  タスクマネージャ上のCPU0とかCPU1のこと。
コア    CPUコアとか物理プロセッサと呼ばれる部分。SMTの場合、一つのコアに2つの論理プロセッサがあります。
CCX  4コアを一つのパッケージとしたもの。



■テスト方法
AMV2 MT ビデオコーデックを4スレッドでエンコード、およびデコードするように設定し、処理時間(FPS)をCPU(論理プロセッサ)の割り当てを変えながら計測していきます。
論理プロセッサの割り当てについてはCPUマスクと表記し16進数で示します。

CPUマスク
CPU
マスク
タスクマネージャ説明
0x000F task_0x000F.png CPU0からCPU3を使い2コア4スレッドを使って処理します。
SMTにより1コアのリソースを2つのスレッドで分け合います。
0x0055   task_0x0055.png CPU0,2,4,6を使い4コア4スレッドで処理します。
各スレッドは1コア分のリソースをほぼ独占できます。
0x00FF task_0x00FF.png CPU0からCPU7までの8つの論理プロセッサのうち空いているリソースをOSが判断して自動で割り当てて処理します。
0x0303 task_0x0303.png CCX0の1コア2スレッドとCCX1の1コア2スレッドで処理します。
2つのCCXをまたがる場合にどうなるか見ます。
0x0505 task_0x0505.png CCX0の2コア2スレッドとCCX1の2コア2スレッドで処理します。
すべてのスレッドが1コア分のリソースをほぼ独占できますがCCXをまたがります。
0xFFFF task_0xFFFF.png CPU0からCPU15までの16の論理プロセッサのうち空いているリソースをOSが判断して自動で割り当てて処理します。
これが既定の動作(特別な設定をしない場合の動作)です。


■結果
Ryzen 1800X 3.6GHz  Windows10 Home  HD画質 AMV2 MT Y2 SSE2 4Threads
CPU
マスク
Encode
FPS
 Decode
FPS
0x000F1402 1497 
0x00551880  1866 
0x00FF1898 1861 
0x03031230 1456 
0x05051597 1849 
0xFFFF1611 1847 


■考察
最もいい結果となったのは0x0055と0x00FFです。0x0055については4スレッド分の処理を行う場合の理想的な割り当てなので、納得です。
また、0x00FFでもほぼ同等の性能を発揮したのでこのテストにおいてはOSによる自動割り当ても十分優秀と言えます。
一方0x000Fは2コア分のリソースしか使えないところに4スレッド分の処理を詰め込むためパフォーマンスが低下しています。0x0055と比べエンコードで約25%減、デコードで約20%減。

そして、Ryzenを使う上で気になるのが後半の3パターンです。
CCXをまたがって処理すると(CCXをまたがらない場合に比べ)エンコードで約15%減、デコード処理では著しいパフォーマンスの低下は見られませんでした。
0x0303はCCXをまたがり且つ2コア分のリソースしか使えないため最悪の結果となり、0x0055と比べエンコード処理は約35%減となっています。

以上より、CCXをまたがってマルチスレッド処理を行う場合、パフォーマンスが低下するプログラムと、CCXをまたがっても低下しないプログラムがあることが解ります。
0xFFFFは既定の動作なのでRyzenを普通に使っているとマルチスレッドで処理するプログラムの場合にCCXをまたがって10%程度パフォーマンスが低下する場合があるかもしれません。

【参考記事 PC Watch】 Windows 10はAMD Ryzenの論理コアを正しく認識できず、性能が下がる?



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

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パーツ     ジャンル : コンピュータ

スーパーアマレココ 不具合と雑記

無事公開までこぎつけたスーパーアマレココですが窓の杜に紹介記事が掲載されたこともあり、たくさんのコメントがツイッターに寄せられていて嬉しい限りです。不具合などのコメントもありましたので一部記載します。


■不具合
ツイッターで不具合を書いてくれている人がいたので確認したところ、
マルチモニター環境で、録画対象のモニター以外のモニター上で
モノクロのマウスカーソル(メモ帳などのカーソル)を動かすと映像に黒帯が入ってしまう。

ある程度不具合報告が溜まったら修正します。
それまでは、マルチモニターの場合は気を付けて使うか、ビデオ設定の「マウスカーソルを録画する」をOFFに
してください。


■スーパーアマレコTVではありません
今回はアマレココのスーパー版ですが、今回の内容はアマレコTV4へフィードバックしていきますので
アマレコTVが良いんだって方は今後のアマレコTV4をお待ちください。

・スーパーアマレココはデスクトップキャプチャに特化した、初心者向けのアプリ。
・アマレコTV4はデスクトップキャプチャ機能やオーディオミキサーを含む、多機能な上級者向けのアプリとしていきます。


■「スーパー」って・・・
1月にアマレコTV4の紹介の中で「スーパーアマレココ」とネタっぽく書きましたが、
その時点でアマレコTV4と比べ半分くらいまでCPU負荷を軽減できるかもしれない手応えがありました。
アマレコTV4のデスクトップキャプチャ機能自体、優秀な部類に入ることを自負していたので、
そこからさらに半減となればこれはもうスーパーと言いたくなります。
で、実際はCPU負荷に加えてGPU負荷まで軽減できたことからネタではなく「スーパーアマレココ」を名乗ることにしました。


アマレココ4 その12 スーパーアマレココ 公開

ホームページでスーパーアマレココ 正式版 Ver4.11 を公開しました。

1.スーパーアマレココ Ver4.11 特徴
1) デスクトップを録画することに特化 簡易性を追求
2) 簡単でありながら 極まったパフォーマンスを達成
3) Desktop Duplication APIによる安定したデスクトップキャプチャ処理
4) Windows8.1 / Windows10 64bit 専用


■簡易性
デスクトップの録画に特化したスーパーアマレココは初心者向け、
オーディオミキサーなど多機能なアマレコTVは上級者向けと言った位置づけになります。
オンラインヘルプ:アマレコ シリーズ一覧

■パフォーマンス
Desktop Duplication APIによるデスクトップキャプチャ処理とAMV4ビデオコーデックによる
エンコード処理により録画中のGPU負荷とCPU負荷の両方を極めて低く抑えます。
そのため、ウインドウモードで実行しているPCゲームの動作をほとんど妨げることなく録画できます。
ブログ記事:アマレココ4 その11 vs ShadowPlay

■安定性
Desktop Duplication APIはOSにより完全にサポートされた機能ですので、
安定したデスクトップキャプチャ機能を提供します。
また、フレームの取りこぼしを極めて低く抑えることができます。
数分程度ならHDMI出力の映像をビデオキャプチャしたものとスーパーアマレココの録画が完全に一致します。
ブログ記事:アマレココ4 その6 ストIV ベンチによるキャプチャテスト



2.スーパーアマレココ Ver4.10 ベータ版からの変更点
1) 設定画面が画面の外に出て操作出来なくなるのを修正。
2) 録画範囲が対象となるウインドウと上手く重なっていないとカクカクした動画になってしまうのを修正。
横長のゲーム画面と縦長の録画範囲だった場合に、十字のような位置関係だと
録画範囲が重なっていないと判定してしまって上手くキャプチャできませんでした。
  +-----+
  |     |
+---------+
|         |
|   GAME  |
|         |
+---------+
  | REC |
  +-----+


3.ダウンロード
ホームページでダウンロードしてください。


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

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

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



ホームページ
カテゴリ
最新コメント
カレンダー
09 | 2017/10 | 11
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 ビデオキャプチャ AMVコーデック アマレココ アマミキ! コーデック SC500 動画配信 ファンタジーリモート アマレコライト プラグイン AMV4 SC512 ライブ機能 デスクトップキャプチャ AVX2 リモートソフト FAQ 質問コーナー HDキャプチャ ニコニコ動画 DirectShow 組み換え 可変再生速度 遅延 レゴ LEGO 解説動画 4K XL2420T ベンチマーク 液晶モニター PS4 Intensity Pro デインターレース アマステ 120Hz 倍速液晶 AMV2MT GV-USB2 MonsterX3A 32ZP2 ffmpeg RDT233WX-Z designs SD-USB2CAP4 31024 AVX Shadow RGBキャプチャ GV-USB Play Alternate VideoKeeper2 XCAPTURE-1 31006 RYZEN SD-USB2CUP4 イベント DirectShowFilter Livetube AtomでHDキャプチャ シンクライアント キャプチャーツール プレビュー 擬似NTSCキャプチャ 額縁遅延 インストール MPC ハイパースレッディングテクノロジー OBS NVEnc HDMI QSV HT 31021 XCapture-1 Kabelake SSE オーバーレイ 録画 フィギュア 音ズレ HDCP 電源オプション 液晶テレビ 32ZP32 SKnet 倍速駆動 モノステ DC-HD1 リプレイ機能 REGZA ZP3 LameACM MP3 Haswell 音遅延 MonsterXU3.0R 倍速補完処理 ゲームスムーズモード IntensityPro 

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