64bit版Windows7で、AviSynthは無事作動するのか?
というのが今回のお話。
Windows7 RC(x64)でも無事にAviSynthは作動する所までは2ヶ月前に確認していたのですが、じっくり使ってみると「特定のバックエンドで使用できない」、「特定のプラグインの組み合わせで変換速度が落ちるかも?」という結果になりました(^_^;
AviSynth自体が作動しない場合もアリ?
まず気が付いた事として、プレーヤーや動画編集ソフト(バックエンド側)がx64だとx86のAviSynthは読み込めないっぽい。x64WindowsでAviSynthを作動させるにはバックエンドも32bitアプリを使用しないとダメっぽいです。(ちょっと確信無し)
AviSynth単体で見ると、ウチの環境(Windows 7RC64bit)では、
1.読み込み・作動に関しては全く問題ない。
2.愛用しているプラグインは全部作動する。
3.プラグインの一部がWindows XP(x86)より低速で困る。
と云うのが現状。
ウチでは無事作動しているけど、モノによっては動かないスクリプトやプラグインが出るかもしれない。しばらくは情報が不足しそう。
MTプラグインはx64に不向き?
32bit XP時代に色々煮詰めたお気に入り設定、x64 Windows7では遅くなるかも(´Д`;)
以下、同条件でエンコした速度比較。
mt("""IT(fps = 24, ref = "TOP", blend = false)""",4,2)
mt("BicubicResize(720,last.height)",4)
mt("BicubicResize(last.width,540)",4,splitvertical=true)
#IT(fps = 24, ref = "TOP", blend = false) #MT使わない場合用
#BicubicResize(720,540) #MT使わない場合用
GPU_Begin
GPU_Convolution3d(preset="movieHQ")
GPU_End()
FFT3DGPU (sigma=1.5,beta=1,plane=0,bw=32,bh=32,ow=16,oh=16,bt=3,mode=1, sharpen=0,interlaced=false,NVPerf=false,wintype=2,precision=0)
FFT3DGPU (sigma=2,beta=1,plane=1,bw=32,bh=32,ow=16,oh=16,bt=3,mode=0, sharpen=0,interlaced=false,NVPerf=false,wintype=0,precision=0)
#GPUフィルタ、一つでも外すとx64でもまぁ高速。
#x64で3重掛けは遅い。
return last
変換後のサイズ | フィルタ | 変換速度(FPS) | CPU使用率(%) | ||
x86 XP | x64Win7 | x86 XP | x64Win7 | ||
よく使う設定1 640x400 | MTでマルチスレッド化 →bicubic _GPU25 FFTGPUx2 | 平均75 | 平均 55 遅くなった GPUフィルタを 一つ減らすと 65FPS | 50~100 | 88~100 |
よく使う設定2 720x540 | MTでマルチスレッド化 →ITでテレシネ →bicubic | 60~110 (平均78) | 40~65 (平均55) 遅くなった | 50~100 | 88~100 |
リサイズテスト1 672x384 | bicubicのみMTなし | 80~90 | 65~75 少し遅くなった | 35~45 | 80~100 |
リサイズテスト2 960x544 | MTでマルチスレッド →LanczosResize | 平均80 | 平均72 少し遅くなった | 70~80 | 85~100 |
テレシネテスト1 672x684 | ITでテレシネ | 平均50 | 平均50 変化無し | 35~60 | 85~100 |
テレシネテスト1 672x684 | MTでマルチスレッド化 →ITでテレシネ | 60~110 平均78 | 50~80 (平均60) 遅くなった | 50~100 | 85~100 |
素エンコ | なし | 20~35 | 45~55 速くなった | 35~60 | 55~75 |
ちなみにソースは全部実写地デジ素材(映画)
1440x1080、BonTsDeMuxで映像のみにDeMux、DGIndexで.d2v化したものを使用。
エンコードにはVirtualDub+Xvidを使用。
Core i7 920 3.5GHz(HT OFF)メモリ9GB、GPU NVIDIA9600GT
AviSynth 2.5.8使用。
う~む。
1.素エンコならばx64版Windowsを使った方が速そう。
2.マルチスレッド化するMTやテレシネフィルタITを使うとx64は遅い。
3.GPUフィルタはほぼ変わらないが、x64版がやや遅い。
4.GPUフィルタ、3重に掛けるとx64版はかなりの速度低下
5.でもCPU使用率はx64の方が高い
64bit GPUドライバはまだこれから?
GPUフィルタに関してはx86版のドライバがかなり煮詰まっていて優秀なのだと思うけど、それ以外の結果は。。。x64版Windows7の方がCPU使用率は高いけどエンコ速度は遅いという結果に。
参考情報:Jw_cad 情報交換室-その3(リンク切れ)
http://hpcgi2.nifty.com/jw_cad/c-board.cgi?cmd=one;no=15609;id=003
Windows7も、x64ドライバも、アプリケーションの対応も、マチマチでこれから。
まぁのんびり待ちましょうってヤツですね。
Windows7(x64)とGPUプラグイン
ちなみに_GPU25を作動させるにはd3d9.dll、d3dx9_36.dllが必要。
OSに付属したDirectXには入っていません。
ダウンロードの詳細 : DirectX End-User Runtime
▲上記をインストールして_GPU25が使用可能になりました。
Windows7ってDirectX10か11だったよね・・・?と疑問を持ちつつも9.26.1590をインストールしました(^_^;
自分用のメモリンク:ASCII.jp:DirectX 10.1をベースにするWindows 7 |あなたの知らないWindows
Doom9内での情報
Doom9のフォーラム内では専用のスレッドがあり、それなりに情報交換はされているが、イマイチ欲しい情報はありませんでした。
Avisynth doesn't work with Windows 7?[Archive] - Doom9's Forum
▲上記リンクから気になるモノをいくつか抜粋
- Windows7 βでAviSynth動いてる人いる?ウチでは動かない
- RCでたぞ。RCで作動してるぞー
- x64版では一部作動しないよ
- ウチでは(まだ)正常作動してるよ
- 7 RTM(x64)で*.d2vファイル読めないよー。
単純な読めた・読めない、作動する・しないの報告が殆ど。
先に書いた通りバックエンドにx64アプリを使っているんじゃないかと(´・ω・`)
全部にじっくり目を通すのは面倒なので流し読みですが、ひょっとするとx64版では一部作動しないかも。
エンコ目的なら、急いでx64版やWindows 7を欲しがる必要無いのかも
PCの利用が動画エンコがメインの場合は、急いで64bit版OSにしたり、Windows Vista/7にする必要は無いのかも。特に、殆どのアプリが32bit版である現在、下手にOSを64bit化するとパフォーマンスが落ちる可能性がありそうです。
私の場合、もう一つの趣味の3DCGソフトが64bit化する事で2倍の性能になりますんで32bit OSに戻るつもりはありませんが。。。
Windows7 RCをインストールしてからしばらくの間は、OSの基本的な部分を弄ったり、動かなくなったツールの代替品を探したり、ドライバ探ししたり、、、と動画エンコまで手を回さなかったけど、ようやくその辺に手が伸びて来た所。
まだスタートしたばかりなので、意外とアッサリと現在の環境向きのエンコが見つかるかもしれませんが、撮り貯めた録画ファイルをエンコしながら、その辺もゆっくり進めて参ります(´∀`)ノ