2018/12/03

なんでみんなやってないのかようやくわかった

Avisynth+でちゃんとMT化ができる(しかも安定して動きそう)ということを知りました。
というわけで、プラグインの個別最適化はそれ単体で律速になるような重量級のものでない限り、コア数を増やせば解決できるということなんですね・・・

で、
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
#SetFilterMTMode("dfttest", MT_SERIALIZED) #same story as with sangnom2
SetFilterMTMode("TFM", MT_SERIALIZED) #MT時は外部ファイルへの出力スレッドが呼ばれないので それを使わなければOK?
SetFilterMTMode("TDecimate", MT_SERIALIZED)
SetFilterMTMode("NNEDI3", MT_MULTI_INSTANCE)

MPEG2Source(vsource,idct=4)
TFM(mode=1,order=-1,PP=1,slow=2).TDecimate(mode=1)
FluxSmoothT(temporal_threshold=3)
Spline144Resize(resizex,resizey)
block=32
dfttest(sigma=4,sbsize=block,sosize=block/2,tbsize=1,dither=2,opt=0)
unsharpHQ_v05_x86_unsharpHQ(SHARPSTR=2.4,THRESHOLD=40,SMOOTH=0)

Prefetch(4)#←これがMT化に必要 昔の感覚でやると気づかないので注意

というスクリプトで50fpsを超えるようになりました。
・・・28→32fpsで喜んでいたのが馬鹿らしくなるほどの効果ですね。
そしてエンコード速度が1920x1080のソースでも30fps超が出るようになりました。

世の中、コアを増やせば簡単に速度UPできるから、dllのopenmp化とかが流行ってないのでしょうかね。
・・・ぼくもコアを増やさねば・・・

0 件のコメント:

コメントを投稿