搜索 社区服务 统计排行 帮助
  • 6236阅读
  • 31回复

[思考] 64位系统压片的一些焦虑的问题...

楼层直达
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
新配了机器,i7 930 OC 3.8Ghz, 6G DDR3, GTX260+

通过avs2yuv(32位)解码avs为y4m格式,通过通道传送给64位版x264进行压制. 结果很让人焦虑.



x264已经准确地设置了8线程工作, 通过内置的滤镜压RAW格式文件能塞满所有CPU资源.

采用dgdecnv通过CUDA运算解码蓝光片源, 但是由于后期在avs脚本中作了一些处理(简单的锐化)导致32位的avs在预览时帧数显著下降.

图片中可以看到x264的CPU占用率40%都不到...大部分的时间x264是在等待avs2yuv传送数据...

不知道这里有没有相似经历的朋友. 我感觉现在除了开两个x264之外,靠32位的avisynth完全无法使用所有的系统资源,而现在的64位avisynth还是处在实验阶段,滤镜也不全...

哼!!人家才不是bb!!你全家都是BB!!
级别: 新手上路
注册时间:
2009-03-08
在线时间:
0小时
发帖:
27
只看该作者 31楼 发表于: 2010-04-11
MEGUI今天更新了一批X64插件....
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 30楼 发表于: 2010-03-22
引用
最初由 summoner 发布


处理的fps速度变快了是事实.

嘛啊怎么说我也是个程序员, mt的部分源码也看过.[/TX]


那你应该清楚单元测试,什么地方是瓶颈应该知道怎么找出来。

我自己的经验
在3.0G E8400上测试的结果,CCTV-HD这种1080i的MPEG,解码速度依靠单线程就可以达到200fps以上,用的是ffdshow里的libmpeg2。

tdeint好久没用,不过肯定比解码慢,记得默认参数SD分辨率在1.8G K8上可以到1.5倍实时速度。

Bilinear resize肯定比解码快。vinverse没用过,但是看源代码计算复杂度不高,应该不会比tdeint慢的。

你需要做的是大致计算出各个部分速度之间的比例,然后按照比例分配线程,使各部分的速度基本一致。
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 29楼 发表于: 2010-03-22
引用
最初由 roozhou 发布

只能说,多出来的22%~32%是浪费掉的。看得出来你对多线程的理解有问题。


处理的fps速度变快了是事实.

嘛啊怎么说我也是个程序员, mt的部分源码也看过.[/TX]

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 28楼 发表于: 2010-03-21
引用
最初由 summoner 发布

我用vdm做过个试验. 在不使用mt的时候,预览avs时VDM的CPU占用从不超过8%,而是用mt时却能达到30%-40%.

只能说,多出来的22%~32%是浪费掉的。看得出来你对多线程的理解有问题。
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 27楼 发表于: 2010-03-21
引用
最初由 roozhou 发布

CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。


这你就错了.

我使用avs2yuv走32位dshow由管道输送到64位编码,或者干脆使用64位dshow的时候,仍然出现CPU资源无法沾满的情况.

我用vdm做过个试验. 在不使用mt的时候,预览avs时VDM的CPU占用从不超过8%,而是用mt时却能达到30%-40%.

另外 ,tdeint 在多线程下从不出错, 你可以自己做个实验

只是itvc肯定是不能用多线程走了.... 最近不压动画tvrip,蓝光都是p的不需要ivtc所以也没怎么试.

哼!!人家才不是bb!!你全家都是BB!!
级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 26楼 发表于: 2010-03-21
不過倒是 其實多線程解碼對於一般片源來說似乎也不是必要
甚至說對效能影響是微乎其微....

级别: 新手上路
注册时间:
2005-06-30
在线时间:
1小时
发帖:
529
只看该作者 25楼 发表于: 2010-03-21
ffms-mt,或者DSS直接调能多线程的Decoder嘛,为啥必须要MT+DSS呢

级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 24楼 发表于: 2010-03-20
引用
最初由 roozhou 发布

关键不是这个,并不是所有滤镜都需要mt,也不是所有滤镜都可以mt。
比如好的反交错需要知道前一帧的处理结果,如果1,3,5,7给第一个线程,2,4,6,8给另一个线程,那出来的结果可能就完全不对了。当然运行时不会出错,但画质就差了。而且CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。


沒有錯[/TX]
還有載入影片的部分也不能夠多線程....
像是 directshowsource 之類的
雖然不會顯示錯誤
但是成品出來畫面可能會跳
因為每個線程...速度不一定相同嘛...

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 23楼 发表于: 2010-03-20
引用
最初由 summoner 发布


没有报错,片子预览的时候也没问题,就算过了.

PSST: 我采用的MT模式不是分块,而是多帧同时处理.所以呢,路论上任何插件都可以实现MT(除了我那个CUDA加速的dgdecnv...显卡就一块,多线程反而卡...)

话说你的软件有没有64位版呢?呵呵:p

关键不是这个,并不是所有滤镜都需要mt,也不是所有滤镜都可以mt。
比如好的反交错需要知道前一帧的处理结果,如果1,3,5,7给第一个线程,2,4,6,8给另一个线程,那出来的结果可能就完全不对了。当然运行时不会出错,但画质就差了。而且CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。
级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 22楼 发表于: 2010-03-20
64位不是問題
VirtualDub不是有64位版?
不然打指令也是可以直接讓x264_64.exe吃吧
問題是在於尚有頗多強大的濾鏡沒有64位的版本(前面有提過了)
所以我也還處於使用32位嫁接frame然後64位壓制的方式

级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 21楼 发表于: 2010-03-20
引用
最初由 roozhou 发布
tdeint居然可以MT?难道是intra-only的?


没有报错,片子预览的时候也没问题,就算过了.

PSST: 我采用的MT模式不是分块,而是多帧同时处理.所以呢,路论上任何插件都可以实现MT(除了我那个CUDA加速的dgdecnv...显卡就一块,多线程反而卡...)

话说你的软件有没有64位版呢?呵呵:p

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 20楼 发表于: 2010-03-20
tdeint居然可以MT?难道是intra-only的?
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 19楼 发表于: 2010-03-20
更换了64位的avisynth MT

压CCAV-HD的sample, 做tdeint和简单undot.

此时CPU终于有了90%以上的占用率

C:\>x264_64.exe --pass 1 --bitrate 2940 --stats "d:\sub\orz\dh1.stats" --level 4
.1 --threads auto --thread-input --bframes 4 --me dia --ref 1 --subme 1 --no-dct
-decimate --output NUL "d:\dllsx64\test1.AVS"
avs [info]: 1280x720p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile Main, level 4.1
x264 [info]: frame I:325 Avg QP:16.08 size:114586
x264 [info]: frame P:24467 Avg QP:19.44 size: 32049
x264 [info]: frame B:43698 Avg QP:22.12 size: 4484
x264 [info]: consecutive B-frames: 11.1% 17.6% 8.4% 12.1% 50.9%
x264 [info]: mb I I16..4: 30.7% 0.0% 69.3%
x264 [info]: mb P I16..4: 27.2% 0.0% 0.0% P16..4: 56.9% 0.0% 0.0% 0.0% 0
.0%skip:15.9%
x264 [info]: mb B I16..4: 2.1% 0.0% 0.0% B16..8: 14.5% 0.0% 0.0% direct:
14.2% skip:69.2% L0:35.6% L1:50.3% BI:14.1%
x264 [info]: final ratefactor: 20.07
x264 [info]: coded y,uvDC,uvAC intra: 52.8% 59.1% 25.0% inter: 21.3% 22.6% 6.8%
x264 [info]: i16 v,h,dc,p: 34% 24% 19% 23%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 21% 14% 8% 8% 7% 8% 7% 9%
x264 [info]: Weighted P-Frames: Y:14.7%
x264 [info]: kb/s:2970.70

encoded 68490 frames, 60.34 fps, 2970.70 kb/s

C:\>
C:\>x264_64.exe --pass 2 --bitrate 2940 --stats "d:\sub\orz\dh1.stats" --level 4
.1 --ref 3 --mixed-refs --bframes 4 --b-adapt 2 --b-pyramid 2 --weightb --direct
auto --deblock -1:-1 --subme 9 --trellis 2 --sar 1:1 --psy-rd 1.0:0.2 --partiti
ons p8x8,b8x8,i4x4,i8x8 --8x8dct --merange 32 --me umh --threads auto --output "
f:\dh1.264" "d:\dllsx64\test.AVS"
avs [info]: 1280x720p 1:1 @ 25/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [warning]: direct=auto not used on the first pass
x264 [info]: profile High, level 4.1
x264 [info]: frame I:325 Avg QP:17.02 size:112504
x264 [info]: frame P:24467 Avg QP:20.16 size: 30204
x264 [info]: frame B:43698 Avg QP:23.48 size: 5293
x264 [info]: consecutive B-frames: 11.1% 17.6% 8.4% 12.1% 50.9%
x264 [info]: mb I I16..4: 15.9% 69.2% 14.8%
x264 [info]: mb P I16..4: 4.5% 9.3% 0.6% P16..4: 43.7% 16.2% 9.3% 0.0% 0
.0%skip:16.5%
x264 [info]: mb B I16..4: 0.1% 0.3% 0.0% B16..8: 45.3% 0.6% 1.0% direct:
2.5% skip:50.2% L0:37.9% L1:44.2% BI:17.9%
x264 [info]: 8x8 transform intra:65.4% inter:69.5%
x264 [info]: direct mvs spatial:20.6% temporal:79.4%
x264 [info]: coded y,uvDC,uvAC intra: 61.7% 74.5% 51.5% inter: 18.7% 26.3% 3.3%
x264 [info]: i16 v,h,dc,p: 56% 16% 7% 21%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 9% 8% 9% 12% 12% 13% 12% 14%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 12% 5% 8% 13% 12% 12% 11% 14%
x264 [info]: Weighted P-Frames: Y:14.7%
x264 [info]: ref P L0: 52.8% 22.7% 14.1% 8.3% 2.2%
x264 [info]: ref B L0: 87.4% 11.1% 1.5%
x264 [info]: ref B L1: 90.8% 9.2%
x264 [info]: kb/s:2940.13

encoded 68490 frames, 18.21 fps, 2940.13 kb/s

C:\>
C:\>

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 18楼 发表于: 2010-03-20
压片用gradfun2db?
快速回复

限150 字节
上一个 下一个