View Full Version : High CPU load when using VobSub


vip
31st March 2004, 17:25
Hello everyone.

Just watched my recent xvid encode and noticed about some choppy playback. Task manager says about 100% cpu load. If i turn off subtitles (idx+sub) cpu load is near 18-20%. I tried VSFilter 2.32 and 2.33, also if i do unregister vsfilter.dll and activate VMR9 in MPC for use internal vobsub routines i got the same high cpu load. If i rip subs into srt and watch the movie with srt subs, cpu load is still high (~50-60%) but lower than for idx+sub. If i use BSPlayer for wathing movie with srt subs i got low (18-20%) cpu usage, guess BSPlayer has its own subtitle renderer. I tried various media players, and if i used VSFilter+(idx+sub) with them i always got high cpu load... Only MPlayer plays the movie + vobsubs with very low cpu usage, but it doesnt use VSFilter, guess it uses built-in routines... I tried 3 different pc's, the same situation is on every of them.

My home pc is AthlonXP 2200+/256Mb DDR/Radeon 9000 64Mb/WinXP Pro/DX9b, my work pc is Celeron 2.4GHz/256Mb DDR/GF4 MX440 64Mb/WinXP Pro/DX9b, my second work pc is Duron 1300/384Mb DDR/Radeon VE 32Mb/Win2k/DX8.1. 3rd pc has even higher cpu load than 'cos it has slower processor...
Could someone suggest me anything to solve the problem? Or may be Gabest knows how to help me? :) tia.

unmei
31st March 2004, 18:08
there clearly IS a problem, 100% cpu on a xp 2200 is really not normal. Probably you have some settings the unlucky way, i would guess it is performing unnecessary colorspace conversions or doesnt use the gfx hardware at all. Afaik, subtitles cannot work in YV12 which is what the mpeg-4 codecs output, but YUY2 is fine for overlaying subtitles. Such a high load probably doesnt come from a YV12->YUY2 conversion alone, but maybe something like YV12->RGB32->YUY2 (now adding subs) -> RGB32 (on overlay), or not using overlay at all.

I have a matrox on the slow box and a radeon 7500 on the faster box. On the radeon, YV12 overlay is the most performant (that means it most likely does a YV12->YUY2->YV12 conversion). This is selected automatically. The matrox wants to use RGB32, but if i disable RGB32 as supported overlay it selects YUY2 and the speed increase is HUGE (rgb32 = 4fps, yuy2 = 30 fps!)

vip
31st March 2004, 19:10
I tried different settings for output in MPC: System default, Overlay Mixer, VMR9; different colorspaces in vsfilter (YV12, YUY2, RGB32), even built a graph in Graphedit and i always got a high cpu usage...