fc2ブログ
 

アマレココ4 その2 CPU負荷

開発中のアマレココ4ですがほぼ録画処理が確定したのでアマレコTV4のデスクトップキャプチャとCPU負荷を比較しました。

1.テスト方法
くるくるベンチDX11を実行し、各キャプチャソフトにてデスクトップ全体(1920x1080)を 60fpsで録画した際のCPU負荷をタスクマネージャで観察します。また、録画はRGBとYUV(YUY2)の2種類でテストします。

キャプチャソフト起動前のCPU負荷は約 1%です。
kidoumae.jpg 


画面全体(1920x1080)を範囲選択し60fpsで録画します。
kidougo.jpg




2.PCスペック
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 AmaRecTV4 Ver4.01
 AmaRecCo4 開発版
 くるくるベンチDX11 Ver1.00
備考 CPUは4コア、8スレッド、HTT対応、AVX2対応。動作クロックを3.4GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。





3.結果

 キャプエンコプレビュー録画のみ 録画+プレビュー 最小化
アマレコTV4RGB
RGB
(DR3)
約 9%
amarectv_rgb_preview.jpg
約 8%
amarectv_rgb_rec.jpg
約 14%
amarectv_rgb_rec_preview.jpg
約 4%
amarectv_yuv_tray.jpg
RGBYUV
(DY3)
約 8%
amarectv_yuv_rec.jpg
約 13%
amarectv_yuv_rec_preview.jpg
アマレココ4RGBRGB
(DR3)
約 2%
amarecco_preview.jpg
約 7%
amarecco_rgb_rec.jpg
約 7%
amarecco_rgb_rec_preview.jpg
開発中
YUVYUV
(DY3)
約 5%
amarecco_yuv_rec.jpg
約 5%
amarecco_yuv_rec_preview.jpg


・プレビュー
キャプチャソフトを起動してプレビューしている状態のCPU負荷です(録画は行っていません)。
GPUで処理できるアマレココ4が圧倒的に有利な結果となりました。
アマレコTV4はビデオメモリの内容を一度システムメモリへ転送したのち、再びビデオレンダラーのビデオメモリへ送り表示するためCPU負荷は高めとなります。

・録画のみ
プレビュー処理を止めて録画のみした状態のCPU負荷です。
アマレコTV4については最小化したりタスクトレイに入れることでプレビュー処理を止めることができるため、タスクトレイに格納した状態で録画しました。
また、アマレコTV4ではRGBでキャプチャしたものをAMV4のDR3設定で録画した場合と、AMV4をDY3に設定しRGBをYUV(YUY2)へ変換しながら録画した場合の2つのケースでテストしました。
アマレココ4はRGBでキャプチャしてDR3で録画した場合と、YUVでキャプチャしてDY3で録画した場合でテストしました。

RGBによる録画に関してはアマレコTV4とアマレココ4とでほぼ同じ処理構成になりますが、僅かにCPU負荷を軽減できています。
一方、YUVによる録画については、アマレコTV4はRGBでキャプチャした画像をAMV4ビデオコーデックによりCPUを使ってYUVへ変換するのに対し、アマレココ4は、キャプチャ処理自体をYUVで行う(RGB・YUV変換はGPUのピクセルシェーダーで処理します)ためAMV4ビデオコーデックによる変換処理を省けるだけでなく、ビデオメモリからシステムメモリへデスクトップ画像を転送するデータ量も半分に軽減できます。これらにより大幅なCPU負荷軽減となっています。

・録画+プレビュー
プレビューしながら録画した場合のCPU負荷です。
アマレコTV4はプレビュー処理に足を引っ張られてCPU負荷が大きめとなります。
アマレココ4は今回の結果(数値)では「録画のみ」と「録画+プレビュー」で差が見られませんが、実際は若干プレビュー処理によりCPU負荷が上昇します。

・最小化
アマレコTV4については録画もプレビューもしていない状態ですがアマレコTVの性質上、常にキャプチャ処理(ビデオメモリをシステムメモリへ転送)を行っていますので、起動前の1%からCPU負荷が上昇しています。
アマレココ4については検討中です。




より滑らか~ くるくるベンチ for DX11

くるくるベンチのDirectX11版です。
以前公開したDirectX7(Direct Draw7)版やアマレコTVのプレビューより、さらに滑らかな表示ができます。
Windows8+DirectX11環境によりほぼ完ぺきに1フレーム単位の表示が可能と思われます。

krkrbenchidx11.png

【使い方】
デスクトップキャプチャソフトの録画フレームレートをモニターのリフレッシュレートと同じに設定(通常60fps)し、くるくるベンチの様子を録画します。
録画した動画ファイルをAviUtlなどで1フレームずつ観察し (くるくるベンチに表示されている) フレームカウンタの重複や抜け(Drop)がないかみてください。


【ダウンロード】
くるくるベンチ for DX11 Ver1.00


次回はこのくるくるベンチを使って新アマレココのCPU負荷を紹介します。


スーパーアマレココ

鋭意制作中のスーパーアマレココことアマレココのVer4について紹介します。

アマレココはアマレコTVのデスクトップキャプチャとして統合しましたので、もうアマレココを作ることは無いと考えていましたが、アマレコTV4で使ったDesktop Duplication API(Windows8以降でデスクトップ画像を取得するOSの機能)の感触がとてもよかった一方、アマレコTVの仕組みにより、足を引っ張られる場面(Direct Showを使わなければならなかったり、プレビュー機能など)もあり、もっと極まったものを作るべくアマレココ4の制作を開始しました。

なお、既にアマレコTV4がありますので、似たものを作っても不毛なのでアマレココ4は純粋にデスクトップを録画する初心者向けのアプリケーションとし、実況動画の作成で使うオーディオミキサーやプリセット機能など色々やりたい人はアマレコTVと言った棲み分けとなります。

アマレココ4とアマレコTV4の比較
 アプリ機能性能、その他
アマレココ4録画のみプレビューや録画中のCPU負荷が小さい
初心者向け
アマレコTV4多機能プレビューや録画中のCPU負荷が大きめ(※)
色々やりたい人向け
※ あくまでアマレココ4と比べての話

amarecco4.png


amarecco4settei.png


■主な特徴
(1) GPUによるプレビュー処理(CPUやシステムメモリを経由しない)
(2) GPUによるRGB・YUV変換(ビデオメモリからシステムメモリへ画像を転送する負荷を半減)
(3) GPUによるリサイズ(ハーフサイズ専用、ビデオメモリからシステムメモリへ画像を転送する負荷を1/4へ軽減)
(4) 機能は録画、スクリーンショットのみ(オーディオミキサーなし、プリセットなし)

基本的にはビデオメモリとシステムメモリの間で画像データを転送する処理(※)に多くのCPUリソースを食われますので、アマレココ4ではGPUを活用し転送処理を改善することで録画中のCPU負荷を軽減します。
また、プレビュー処理に関しては画像データが既にビデオメモリ上にありますので、CPUやシステムメモリを使った転送処理は行いません。

※ デスクトップキャプチャ処理はビデオメモリ上の画像をシステムメモリへ転送、アマレコTVのプレビュー処理はシステムメモリ上の画像をビデオメモリへ転送して表示


次回は録画中のCPU負荷がどの程度軽減されるか紹介します。
公開は10月を予定しています。


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

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

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



ホームページ
カテゴリ
最新コメント
カレンダー
08 | 2016/09 | 10
- - - - 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 -
最新記事
最新トラックバック
ブログ内タグ

アマレコ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リンクの表示
管理画面
  • 管理画面