分页: 4 / 16

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-03 20:51
dgwxx
\万岁/

版本号从0.9变成0.11了 -v-

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-03 22:04
rshadow
{:cat_4} 怎么看起来版本号好像倒退了……

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-03 22:58
-o-o-304-o-o-
皮神这个更新的太给力了,非EP脚本的因TCP效率问题导致的效能低下问题现在看来基本解决了,速度相当令人满意的XD,果断跪拜皮神

小测试:
avs

代码: 全选

SetMemoryMax(2048)
MPEG2Source("E:\hunter02-ts.d2v")
w=1280
h=720
deint=last.vinverse()
TFM(mode=5, pp=7, slow=2, clip2=deint).Tdecimate(mode=1)
last.trim(750, 3595)++last.trim(5400, 21890)++last.trim(24055, 36467)++last.trim(38631, 41023)
EraseLOGO(logofile="C:\Program Files (x86)\aviutl99i8\logodata.ldp", logoname="NTV 1440x1080")
src=last
c=last.spline64resize(w, h, 2, 2, -2, -1)
clip1=c.PNLM(28, 4, 0, 8).f3kdb(24, 60, 44, 44, 0, 0, 2, precision_mode=3, mt=true).GrainFactory3mod(g1str=0.85, g2str=0.35, g3str=0, g1size=0.95, g2size=0.6, g3size=0.3, temp_avg=40, ontop_grain=0)
msk=c.TEdgeMask(link=2, preblur=false, valon=-1).mt_lut("x 4 <<").mt_deflate()
clip2=src.msharpen(10, 120, mask=false, highq=true).spline64resize(w, h, 2, 2, -2, -1)
mt_merge(clip1, clip2, msk, luma=false, u=3, v=3)
MPP用avs

代码: 全选

MP_Pipeline("""
### platform: win32
SetMemoryMax(384)
MPEG2Source("E:\hunter02-ts.d2v")
deint=last.vinverse()
TFM(mode=5, pp=7, slow=2, clip2=deint).Tdecimate(1)
last.trim(750, 3595)++last.trim(5400, 21890)++last.trim(24055, 36467)++last.trim(38631, 41023)
EraseLOGO(logofile="C:\Program Files (x86)\aviutl99i8\logodata.ldp", logoname="NTV 1440x1080")
src=last
c=last.spline64resize(1280, 720, 2, 2, -2, -1)
### export clip: c, src
### ###
### platform: win32
SetMemoryMax(512)
clip1=c.PNLM(28, 4, 0, 8).f3kdb(24, 60, 44, 44, 0, 0, 2, precision_mode=3, mt=true).GrainFactory3mod(g1str=0.85, g2str=0.35, g3str=0, g1size=0.95, g2size=0.6, g3size=0.3, temp_avg=40, ontop_grain=0)
### export clip: clip1
### pass clip: c, src
### ###
### platform: win32
SetMemoryMax(256)
msk=c.TEdgeMask(link=2, preblur=false, valon=-1).mt_lut("x 4 <<").mt_deflate()
### export clip: msk
### pass clip: c, src, clip1
### ###
### platform: win32
SetMemoryMax(384)
clip2=src.msharpen(10, 120, mask=false, highq=true).spline64resize(1280, 720, 2, 2, -2, -1)
### export clip: clip2
### pass clip: c, src, clip1, msk
### ###
### platform: win32
SetMemoryMax(256)
mt_merge(clip1, clip2, msk, luma=false, u=3, v=3)
""")
x264设定(r2164tmod649)
Part 1:
c:\x264>x264 --preset ultrafast --crf 23.0 --frames 1000 -o null "E:\hunter02-ts.avs"

不使用MPP
encoded 1000 frames, 6.3515 fps, 0.1574 spf, 3176.50 kb/s
x264 [info]: ended at Sat Mar 03 22:54:21 2012
x264 [info]: encoding duration 0:02:37

MPP v0.9
encoded 1000 frames, 5.6015 fps, 0.1785 spf, 3328.16 kb/s
x264 [info]: ended at Sat Mar 03 22:22:58 2012
x264 [info]: encoding duration 0:02:59

MPP v0.9 + prefetch : 16,0
encoded 1000 frames, 9.3963 fps, 0.1064 spf, 3323.79 kb/s
x264 [info]: ended at Sun Mar 04 11:46:07 2012
x264 [info]: encoding duration 0:01:47

MPP v0.11
encoded 1000 frames, 7.0729 fps, 0.1414 spf, 3326.06 kb/s
x264 [info]: ended at Sat Mar 03 22:18:52 2012
x264 [info]: encoding duration 0:02:22

MPP v0.11 + lock threads to cores
encoded 1000 frames, 7.4965 fps, 0.1334 spf, 3330.49 kb/s
x264 [info]: ended at Sat Mar 03 22:31:46 2012
x264 [info]: encoding duration 0:02:14

MPP v0.11 + prefetch : 16,0
encoded 1000 frames, 12.8180 fps, 0.0780 spf, 3324.10 kb/s
x264 [info]: ended at Sun Mar 04 11:33:40 2012
x264 [info]: encoding duration 0:01:18

MPP v0.11 + lock threads to cores + prefetch : 16,0
encoded 1000 frames, 11.2991 fps, 0.0885 spf, 3328.96 kb/s
x264 [info]: ended at Sun Mar 04 11:22:53 2012
x264 [info]: encoding duration 0:01:28

Part 2:
c:\x264>x264 --preset ultrafast --bitrate 3300 --ratetol 0 --frames 1000 -o null "E:\hunter02-ts.avs"

不使用MPP
encoded 1000 frames, 6.8246 fps, 0.1465 spf, 3307.03 kb/s
x264 [info]: ended at Sun Mar 04 12:14:33 2012
x264 [info]: encoding duration 0:02:26

MPP v0.9
encoded 1000 frames, 5.6895 fps, 0.1758 spf, 3304.02 kb/s
x264 [info]: ended at Sun Mar 04 12:34:09 2012
x264 [info]: encoding duration 0:02:55

MPP v0.9 + prefetch : 16,0
encoded 1000 frames, 9.5591 fps, 0.1046 spf, 3304.43 kb/s
x264 [info]: ended at Sun Mar 04 12:28:25 2012
x264 [info]: encoding duration 0:01:45

MPP v0.9 + prefetch : 16,0 + 每线程branch: 2
encoded 1000 frames, 6.1947 fps, 0.1614 spf, 3305.75 kb/s
x264 [info]: ended at Sun Mar 04 12:59:48 2012
x264 [info]: encoding duration 0:02:41

MPP v0.11
encoded 1000 frames, 7.2569 fps, 0.1378 spf, 3304.57 kb/s
x264 [info]: ended at Sun Mar 04 12:37:34 2012
x264 [info]: encoding duration 0:02:17

MPP v0.11 + prefetch : 16,0
encoded 1000 frames, 12.6728 fps, 0.0789 spf, 3307.15 kb/s
x264 [info]: ended at Sun Mar 04 12:24:44 2012
x264 [info]: encoding duration 0:01:19

MPP v0.11 + lock threads to cores + prefetch : 16,0
encoded 1000 frames, 10.9359 fps, 0.0914 spf, 3304.89 kb/s
x264 [info]: ended at Sun Mar 04 12:08:49 2012
x264 [info]: encoding duration 0:01:32

MPP v0.11 + prefetch : 16,0 + 每线程branch: 2
encoded 1000 frames, 13.0090 fps, 0.0769 spf, 3304.75 kb/s
x264 [info]: ended at Sun Mar 04 12:50:35 2012
x264 [info]: encoding duration 0:01:17

0.9->0.11的累计提速比例达到了20%-25%以上,尤其是根据皮神的建议加上了prefetch之后的速度提升让人倍感震精啊,累计提速达到了35%!从测试上看,0.9和0.11都获得了明显的速度提升,尤其是0.11,最终的速度几乎接近不用MPP的原始脚本的2倍了(处理器的占用率也从原来的15%提升到了30%,本来仅能占满1个核心的脚本现在可以妥妥的吃掉2个核心的资源了,综合速度的提升来看,MPP的这个效率提升非常明显啊嗷!)……这打了鸡血一般的提升太……必须拜皮神了!

另外有个不太明白的地方,lock threads to cores这个在不限定prefetch的情况下有速度提升,但是限定了prefetch后,反倒是不锁定线程到核心这个更快……之前MR大提过,把线程固定在一个核心上运行的效率不是更高么……想不太明白了囧……出去洗澡吃饭下午上自习室本子再试试abr,branch的提升去……
(2011/3/4 12:00更新~)

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-04 10:16
SAPikachu
rshadow 写了:{:cat_4} 怎么看起来版本号好像倒退了……
次级版本号得按一个整数来看,11 > 9所以是没错的~
-o-o-304-o-o- 写了:
x264设定(r2164tmod649)
c:\x264>x264 --preset ultrafast --frames 1000 -o null "E:\hunter02-ts.avs"

不用MPP
encoded 1000 frames, 6.3515 fps, 0.1574 spf, 3176.50 kb/s
x264 [info]: ended at Sat Mar 03 22:54:21 2012
x264 [info]: encoding duration 0:02:37

MPP v0.9
encoded 1000 frames, 5.6015 fps, 0.1785 spf, 3328.16 kb/s
x264 [info]: ended at Sat Mar 03 22:22:58 2012
x264 [info]: encoding duration 0:02:59

MPP v0.11
encoded 1000 frames, 7.0729 fps, 0.1414 spf, 3326.06 kb/s
x264 [info]: ended at Sat Mar 03 22:18:52 2012
x264 [info]: encoding duration 0:02:22

MPP v0.11 + lock threads to cores
encoded 1000 frames, 7.4965 fps, 0.1334 spf, 3330.49 kb/s
x264 [info]: ended at Sat Mar 03 22:31:46 2012
x264 [info]: encoding duration 0:02:14

0.9->0.11的累计提升达到了25%,对于一般情况都有超过10%的性能提升,效果令人满意,鸡动ing~~

快断电了,branch的效果明天再试……再次拜谢皮神~
感谢304测试~不过这结果看着好像有点问题,用MPP的码率比没有用多出了一截,不知道是什么原因呢orz

PS:304可以试试在后面的几个进程加上prefetch,可能还能提高一点速度~

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-04 11:26
-o-o-304-o-o-
SAPikachu 写了:
rshadow 写了:{:cat_4} 怎么看起来版本号好像倒退了……
次级版本号得按一个整数来看,11 > 9所以是没错的~
-o-o-304-o-o- 写了:
x264设定(r2164tmod649)
c:\x264>x264 --preset ultrafast --frames 1000 -o null "E:\hunter02-ts.avs"

不用MPP
encoded 1000 frames, 6.3515 fps, 0.1574 spf, 3176.50 kb/s
x264 [info]: ended at Sat Mar 03 22:54:21 2012
x264 [info]: encoding duration 0:02:37

MPP v0.9
encoded 1000 frames, 5.6015 fps, 0.1785 spf, 3328.16 kb/s
x264 [info]: ended at Sat Mar 03 22:22:58 2012
x264 [info]: encoding duration 0:02:59

MPP v0.11
encoded 1000 frames, 7.0729 fps, 0.1414 spf, 3326.06 kb/s
x264 [info]: ended at Sat Mar 03 22:18:52 2012
x264 [info]: encoding duration 0:02:22

MPP v0.11 + lock threads to cores
encoded 1000 frames, 7.4965 fps, 0.1334 spf, 3330.49 kb/s
x264 [info]: ended at Sat Mar 03 22:31:46 2012
x264 [info]: encoding duration 0:02:14

0.9->0.11的累计提升达到了25%,对于一般情况都有超过10%的性能提升,效果令人满意,鸡动ing~~

快断电了,branch的效果明天再试……再次拜谢皮神~
感谢304测试~不过这结果看着好像有点问题,用MPP的码率比没有用多出了一截,不知道是什么原因呢orz

PS:304可以试试在后面的几个进程加上prefetch,可能还能提高一点速度~
哦哦感谢皮神,加了prefetch之后速度像打了鸡血一样的快啊(7.49->11.29)……再次拜谢皮神!

码率那个情况不知道,我这跑了3次码率都不一样,从3328->3330之间来回跳,同一个脚本跑出来的码率也是不完全一样的,回头我这用abr再测试一次好了……不过现在这个提升的比例早就超过误差的范围了,是巨大的速度提升啊~~~~

prefetch提速效果的测试结果已经更新到了原帖里面了……再三拜谢皮神!

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-04 18:51
SAPikachu
-o-o-304-o-o- 写了: 哦哦感谢皮神,加了prefetch之后速度像打了鸡血一样的快啊(7.49->11.29)……再次拜谢皮神!

码率那个情况不知道,我这跑了3次码率都不一样,从3328->3330之间来回跳,同一个脚本跑出来的码率也是不完全一样的,回头我这用abr再测试一次好了……不过现在这个提升的比例早就超过误差的范围了,是巨大的速度提升啊~~~~

prefetch提速效果的测试结果已经更新到了原帖里面了……再三拜谢皮神!
个位数的差别倒是没什么关系,主要是不用MPP和用MPP差了一百多K有点在意。。。

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-04 18:56
06_taro
GrainFactory3mod開動態噪點的話什麼都有可能的……

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-04 19:02
-o-o-304-o-o-
06_taro 写了:GrainFactory3mod開動態噪點的話什麼都有可能的……
这样啊,晚上回去关掉GF再试试去……

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-05 14:08
mickoo
请问这个怎么使用的?我根据LZ的例子,总是提示错误的?

Re: MP_Pipeline 0.11 - 多进程运行avs脚本 [2012-03-03]

发表于 : 2012-03-05 14:19
SAPikachu
mickoo 写了:请问这个怎么使用的?我根据LZ的例子,总是提示错误的?
麻烦贴一下完整脚本和错误信息?