Enhanced Video Rendererのパフォーマンス
OS | Windows7 x86 評価版 |
MB | M3N78-EM |
CPU | Phenom x3 8750 2.4GHz |
MEMORY | DDR2 800 4GB(2GB*2 Dual channel) |
Video | Gefoce GT 240 Driver 191.07 |
フォーマット | 変換 | プレビューのFPS |
5760x3240、YUY2 | YUY2 | 53.1 |
■基本的なグラフの場合
DirectShowのインテリジェンス機能に任せてスマートティのプレビューピンとEVRを接続するとキャプチャ画像のカラーフォーマットにより次のようなグラフが作成されます。

YUV系をキャプチャすると「AVI Decompressor」によりRGB32かUYVYに変換されてEVRが接続されます。
RGB系は「Color Space Comverter」によりRGB32に変換されてEVRが接続されます。

この状態で5760x3240と大き目の映像(1920x1080を縦横に3つ並べたサイズ)を流しプレビューしたときのフレームレートを計測しパフォーマンスをチェックします。
フォーマット | 変換 | プレビューのFPS |
5760x3240、YUY2 | RGB32 | 4.3 |
5760x3240、UYVY | RGB32 | 2.7 |
5760x3240、HDYC | UYVY | 53.1 |
5760x3240、RGB24 | RGB32 | 17.1 |
5760x3240、RGB32 | RGB32 | 28.5 |
YUY2とUYVYをキャプチャした場合は「AVI Devompressor」によりRGB32への変換が行われその部分が極端に遅く使い物になりません。これはMonsterX-iなどのD3を入力した場合にデインターレースして60fpsでプレビューしようとしても40fps程度までしか処理できないなど非常に厳しい結果です。
一方HDYCをキャプチャした場合はUYVYに変換(FourCCやサブタイプを変えるだけっポイ)され最もいい結果がでています。これはVMR7と同等のパフォーマンスでありIntensity(HDYC)などはEVRを使っても基本的なグラフで快適にプレビューできました。
RGBに関してはあまり重要ではありませんが、こちらもRGB24をキャプチャした場合、「Color Space Converter」によりRGB32への変換が行われパフォーマンスは低下します。RGB32をキャプチャした場合は、元々HDYCの2倍の情報量なので変換等が行われなくても30フレーム前後となってしまうのは妥当な結果と言えます。
■アマレコTVの場合
続いてEVRと上手くネゴシエートできるようなフィルター「AmaRec Deinterlace」を用意してパフォーマンスを調べます。

YUY2、UYVY、HDYC、RGB32をキャプチャすると「AmaRec Deinterlace」によりネゴシエートされ変換系のフィルターなしでEVRが接続されます。

「AmaRec Deinterlace」フィルターではカラーフォーマットの変換は一切行わず、ピッチやアロケータをEVRの都合にあわせるだけです(HDYCはFourCCとサブタイプだけUYVYに変更)。
フォーマット | 変換 | プレビューのFPS |
5760x3240、YUY2 | YUY2 | 53.7 |
5760x3240、UYVY | UYVY | 53.7 |
5760x3240、HDYC | UYVY | 53.7 |
5760x3240、RGB24 | RGB32 | 11.9 |
5760x3240、RGB32 | RGB32 | 28.5 |
RGB24を除いてフォーマットの変換を一切行わない為、VMR7と比べパフォーマンスの低下はありません。RGB24は「Color Space Converter」により変換される為パフォーマンスが低下します。また、「AmaRec Deinterlace」のコピー処理もある為、結果1よりさらに遅くなっています。
■まとめ
EVRはVMR7に比べて重い(処理が遅い)と言われているのは、EVR自体の処理ではなくその手前に入る変換フィルターが足を引っ張っている事が原因と思われます。アマレコTVはその部分を「AmaRec Deinterlace」フィルターで調整し、EVRでも多くのケースでVMR7と同等のパフォーマンスを発揮できるようになっています。
グラフ構成 | フォーマット | 変換 | プレビューのFPS |
VMR7 (オーバーレイ) | 5760x3240、YUY2 | なし | 53.1 |
EVR + AVI Decompressor | 5760x3240、YUY2 | RGB32 | 4.3 |
5760x3240、UYVY | RGB32 | 2.7 | |
5760x3240、HDYC | なし | 53.1 | |
EVR + Color Space Converter | 5760x3240、RGB24 | RGB32 | 17.1 |
5760x3240、RGB32 | なし | 28.5 | |
EVR + AmaRec Deinterlace | 5760x3240、YUY2 | なし | 53.7 |
5760x3240、UYVY | なし | 53.7 | |
5760x3240、HDYC | なし | 53.7 | |
5760x3240、RGB32 | なし | 28.5 | |
EVR + Color Space Converter + AmaRec Deinterlace | 5760x3240、RGB24 | RGB32 | 11.9 |
アマレコTV EVR対応ベータ版
ビデオカードやビデオドライバにより大きく挙動が異なると思われますので調整途中ですがベータ版としていったん公開します。EVRに興味があり、ある程度の問題は自分で対処できる方はお試し下さい。また、VMR7と比べて動作が重いとかありましたらコメント欄にご報告いただけると助かります。

※1 カスタムフィルターを使わずにEVRを利用すると、パフォーマンスが大幅に低下する場合があります。
※2 EVRの場合HWデインターレースは正常に機能しません。
※3 VMR7のオーバーレイに比べ、EVRは表示するタイミングが不安定です。
※4 EVRの場合はプレビューのフレームレートが常に0と表示されます。
http://amamaman.hp.infoseek.co.jp/download/amarectv112.lzh
Ustream
原因はくるくるベンチである事が解ったので修正したバージョンをホームページの方にアップしておきます。
と言う事でUstreamが使えるようになったので早速アマレコTVのライブ機能のテストをしてみたところ、映像の方は特に問題なさそうでしたが音声は「AmaRec Audio Capture」が選択できません。
48kHzや44.1kHzではダメなのかな?
Ustreamの番組設定の詳細設定にある「高画質エンコーダーを利用」をONにする事でAmaRec Audio Captureも選択できましたが、次のアマレコTVではUstreamも簡単&快適に利用できるよう調整したいと思います。

フルHD 1080pも可能 「くるくるベンチ for Direct Show」 公開

もっとも滑らかにプレビューを表示するには
(1) キャプチャフレームレートとモニターのリフレッシュレートをそろえる。
(2) インターレース画像を扱う場合は、キャプチャを30fps、モニターを60Hzなど、モニターのリフレッシュレートをキャプチャのレートの倍にする。
(3) Windows Vista以降の場合はデスクトップコンポジション(Aero)を無効にする。
(4) オーバーレイをつかってプレビューを表示する。
(5) ビデオカードにもよりますがキャプチャフォーマットをYUY2にしないとオーバーレイ表示できない場合があります。
ダウンロードはホームページ