『漫游』酷论坛>『影音数码技术学习交流』>[求助] 關於 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