分页: 1 / 16

MP_Pipeline 0.18 - 多进程运行avs脚本 [2014-04-06]

发表于 : 2011-11-29 19:40
SAPikachu
功能如题(拖),主要是用来解决部分EP滤镜组合使用时爆内存的情况。具体用法请参考压缩包内的示例脚本。

更新日志:

代码: 全选

0.18
* 旧版本中当### export clip输出的clip被多个脚本块同时使用时可能会导致死锁,已修复

0.17
* 在初始化出错时立刻结束所有子进程
* 使用### inherit时即使最后一个block为空也不会再出错

0.16
* 使子进程退出时可能出现的大部分错误对话框不再显示
* 子进程退出时不会再卡死
* 修复### branch,旧版中部分参数组合会导致无法初始化

0.15
* 子程序退出时正确清理script environment,使tfm能正确输出stats
* 可使用不同的avisynth dll运行脚本块

0.14
* 修复另一个导致偶然崩溃的bug

0.13
* 修复某bug导致的偶发崩溃

0.12
* 修复在某些情况下无法启动的错误

0.11
* 大大改善性能,某些情况下开销可下降80%
* 可锁定子进程内的工作线程到单一核心

0.9
* 新功能:帧预读
* 新功能:同时输出多个clip变量
* 新功能:可在多个进程间共享部分代码

0.3
* 修正x86文件夹内的子程序版本
* 内置TCPDeliver,不再依赖外部滤镜
* 修正退出时的随机崩溃
* 分块Branch

0.2
* 新增x64支持(请将压缩包内各平台的TCPDeliver.dll复制到对应的插件目录内)
* 可混合使用x86/x64子进程,详情请参考示例脚本(需要同时安装x86/x64的AviSynth)
* BRANCH进程新增一个变量,使脚本内可以区分不同的进程
源代码: https://github.com/SAPikachu/MP_Pipeline/tree/0.18
下载: http://nmm.me/z6

* 解压时请将x86(或x64)文件夹下的所有文件解压到同一个地方,不要分开放

使用实例:

1. 基础用法

代码: 全选

MP_Pipeline("""
FFVideoSource("SomeVideo")
QTGMC()
### prefetch: 16, 0
### ###
""")
MCTD()

# MCTD及QTGMC会在两个不同的进程内并行运行
2. 以大量内存为代价提速MCTD

代码: 全选

# 要运行这个脚本,系统必须为64位并且至少有8GB内存
MP_Pipeline("""

# 此处数值可能有下降余地,不过我只测试过这个数
SetMemoryMax(3072)

FFVideoSource("SomeVideo")
MCTD(settings="high")
### prefetch: 16, 0
### ###
""")

# 之前用类似的脚本编码时比单纯MCTD有20%~30%速度提升
3. 分支

代码: 全选

MP_Pipeline("""
FFVideoSource("SomeVideo")
TNLMeans()
### prefetch: 16, 0
### branch: 4
### ###
""")

# TNLMeans会在4个进程内分支执行

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-29 21:26
-o-o-304-o-o-
哦哦这是正式版么

\皮神v5/

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-29 21:29
SAPikachu
-o-o-304-o-o- 写了:哦哦这是正式版么

\皮神v5/
其实就是前几天那个版本,没什么问题就丢出来了。。。

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-29 21:36
nuomi
其實這貨不是MP,是EP……各種意義上的……

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-29 22:07
angelcat
內存救星- -

最近把坑填一填可以來EP了

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-29 22:18
salty1
威武极了- -EP更进一步

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-30 0:38
ikamusume
皮神威武哇 {:cat_13} 純支持 鄙人受不了嚴重時間花費

Re: MP_Pipeline - 多进程运行avs脚本

发表于 : 2011-11-30 18:08
4h4h270
这东西好物啊~支持~~~

Re: MP_Pipeline 0.2 - 多进程运行avs脚本 [2011-12-08]

发表于 : 2011-12-12 2:46
sasabi
good

Re: MP_Pipeline 0.3 - 多进程运行avs脚本 [2012-01-01]

发表于 : 2012-02-01 1:53
rshadow
刚刚试用了一下,有几个问题一直搞不懂:

1. x86和x64文件夹下的avs,区别是只在于使用x86或x64的x264的吗?用了avs4x264mod后效果一样?

2.模仿着格式试着跑了一回QTGMC,貌似速度更悲剧了 {:cat_7}
请问一下,这个该在什么时候用呢?EP滤镜组合不太能理解,能举些实例吗?

3.那个……合理的组合是指跑AVS和x264的速度相近吗?先前见msg7086提到过“跑一下banchmark看哪边的fps高”,不知道和这个有木有关联?(其实偶根本不知道神马是banchmark…orz