『漫游』酷论坛>『影音数码技术学习交流』>[求助] 關於 MT版 AVS

[求助] 關於 MT版 AVS

翡璃月@2010-03-17 09:59

請求詳細安裝及使用方式[/ku]

資質駑鈍看不懂實際上該如何使用
OS = Windows 7 X64
引用

wolfsoft@2010-03-18 10:43

安装普通版avs,然后用mt版里的dll覆盖掉即可

注意如果是64位系统的话可能(64位机器不在手头所以也无法验证,凭记忆了)在windows/wow64这个目录里,而不是以前的system32(虽然这个目录仍然存在

使用的时候,在脚本最开头写上 setMTMode(x,x)就可以.前一个数字为线程数,写为0的话由avs自动判断(会弄成你cpu的线程数).后一个是mode数,一般写2即可

当需要更改mode时可以直接写setMTMode(x).具体的mode请参考附带html文档
引用

翡璃月@2010-03-18 19:06

原來如此
感激教導
引用

翡璃月@2010-03-18 19:13

放入SysWow64之後
MeGUI顯示說無法載入avisynth.dll
請問這樣 又該如何解決呢?
引用

翡璃月@2010-03-18 20:10

Sorry 弄錯MT版本 拿到x64的
已經安裝ok了 ^^
引用

翡璃月@2010-03-18 20:36

發現是(mode,threads)

再發現threads=8以上 或是 超過8threads的CPU設定0
MeGUI的vfw4x264.exe會出錯
引用

wolfsoft@2010-03-19 13:41

第一,已经有人编译出不少x64的插件,如果能满足条件就尽量用x64版本,原因为下一条

第二,32位应用程序有一个2g内存调用封顶,实际只能调用1.5g,超过1.5g自动崩溃.除非编译时启动了大内存寻址选项.

所以如果线程过多,或者在单线程下本就占用了很多内存,自然会产生这种内存溢出问题.要么自己去编译一个调用了大内存寻址的x264(得用vc来编译),要么换x64的程序.

当然仍然不要忘记32对32,64对64,这些都必须是一线走的
引用

翡璃月@2010-03-19 20:09

SetMTmode(2) 先宣告
然後再 MT("""參數()""",threads=線程)
這樣可以不用讓整個avs內容全部都多線程...
尤其是 (???)source 這個多線程吃最多記憶體
引用

roozhou@2010-03-19 22:33

显然不是所有滤镜都可以多线程,如果不了解多线程实现原理,那乱设是没用的

多线程有两种,一种流水线式的,就是是滤镜链中的每层滤镜使用不同的线程。
比如总共source, deinterlace, resize三个滤镜,可以用三个线程分别处理
如果是比较复杂的关系,比如前面的滤镜还需要后面滤镜的反馈结果,那就不能用了。

还有一种是把图像分区,用多个线程处理
比如某些denoise和resize算法,但代价是可能结果会不一样,需要一定的区域重叠来抵消。有很多滤镜是没法支持这种形式的。
引用

翡璃月@2010-03-19 22:51

http://avisynth.org/mediawiki/MT_support_page
照這上面所說目前已知
fft3dgpu與pixiedust
是完全無法支援多線程的
其它則尚須多種測試
引用

ssnake@2010-03-19 22:56

fft3dgpu要MT干嘛……PixieDust多么古老了,而且连YV12都不支持……
引用

roozhou@2010-03-19 22:59

另外各种滤镜速度不一样,有些可能有数量级的差别,对于非瓶颈的滤镜没有必要用mt
引用

翡璃月@2010-03-19 23:00

引用
最初由 ssnake 发布
fft3dgpu要MT干嘛……PixieDust多么古老了,而且连YV12都不支持……


原本就已經是多線的fft3dgpu只是支援的多線不是CPU是GPU[/TX]
引用

翡璃月@2010-03-19 23:01

引用
最初由 roozhou 发布
另外各种滤镜速度不一样,有些可能有数量级的差别,对于非瓶颈的滤镜没有必要用mt


像是TNLMeans這種瓶頸就....
有了MT可以說是如虎添翼般吶:D
引用

roozhou@2010-03-19 23:08

TNL Means如果搜索窗口大的话,那overlap的区域会很大,MT的意义就不大了。

谁给我科普一下avisynth-mt到底是流水线式的还是图像分区式的,或者两者都有?
引用

«123»共3页

| TOP