MPEG-2 VIDEO VFAPI Plug-In v0.7.6 はデコードがやや遅い?

 という噂は、2ちゃんねるソフトウェア板 AviUtl総合スレッド73(post 74~)で見かけたのですが、真偽の程を確認するためベンチマークを実行してみました。使用した Version は ──

v0.7.2 : 0.7.5で速度が大幅に低下した事の比較用に選択
v0.7.5 : 一部環境でデコード速度が大幅に低下していた Version
v0.7.5a : デコード速度が 0.7.2 と同等に戻り、さらに 0.7.6 との比較用として選択
v0.7.6 : 現時点での最新 Version 。「わかさトラップ」対策が実装されている


↑ IDCT 関数以外はこのような共通設定

という内容で、それぞれのバージョンにて IDCT 関数「浮動小数点」「整数 32bit LLM」「整数 32bit AP-922」の3種を10回ずつ実行し、その平均値をデータとして採用しています(IDCT関数以外の設定は変更無し)。デコードに使用した映像は約7分長のTSファイルで、総デコード数は10,500フレーム(1440x1080/60i)という同一ソースを使用しました。なお、GOPリスト(glファイル)は、ベンチマーク前に生成しておき、ベンチマーク時にそれを再利用するかたちです。

ベンチマーク方法は、AviSynth の LoadAviUtlInputPlugin にて m2v.aui を使用し、そのavsを avs2pipemod の benchmark モードで測るというシンプルなものです。

  • 計測環境
  • CPU : Intel Core i5 2500K 4GHz固定
    Memory : DDR3-1600(9-8-8) 16GB(4GBx4)
    HDD : WD30EZRX(3TB) *TSファイルのデータはglファイル作成時に読み込んで主記憶にキャッシュされている状態
    OS : Windows7 Professional x64
    AviUtl : version 0.99l

    ベンチマーク結果:v0.7.6 はやや速度低下が見られる

    以下がベンチマーク結果(値はデコード時のフレームレート)。


    見てのとおり、どのアルゴリズムにおいても v0.7.6 はデコード速度が低下しており、v0.7.5 程ではないにせよ噂を裏付ける実証が得られました。

    v0.7.5 は使用している方々のblogなどで「速度が振るわない」という旨の言葉が多く、私の環境で試してみたところ、このようなデータが出たため Twitter で呟いたところ、茂木氏が興味を持ってくださり、提供されたデバッグフラグ付きのバイナリでデータを採ってそれらを提出 → 解決していただいた経緯があります(v0.7.5a)。

    さて、現時点で最新の v0.7.6 ですが、v0.7.5 ほど遅くないにせよ若干の速度低下は確認でき、もっとも高速なアルゴリズムである「AP-922」が v0.7.5a の「LLM」並に落ちており、クオリティ重視で演算コストが大きい「浮動小数点」においても僅かに速度低下している結果が出ました。

    しかし、この程度の速度低下であれば、CPUリソース(処理している時間)がほんの少し伸びて、後段処理を含めた全体の処理時間(エンコード等の出力に至るまで)が微かに延びる(遅くなる)程度かな……とは思いますが、もしもm2vデコード後に軽い処理をしていると、わりと差が出てくる可能性もあるため、わかさトラップ処理を他に任せている人であれば v0.7.5a の使用がベストといえるかもしれません。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    − 3 = 2