[MPlayer-users] Cache fill status message hogs CPU time on Win32

Pekka Seppänen pexu at lyseo.edu.ouka.fi
Fri May 5 23:23:40 CEST 2006


Hello,

Ok, the following is pretty trivial but annoying: Under Windows XP (SP2)
mplayer (actually cmd.exe/csrss.exe) hogs all CPU time when it displays the
"Cache fill: ..." status message (MSGTR_CacheFill "\rCache fill: %5.2f%% (%"PRId64" bytes)   ").
This leads to more or less problematic startup when mplayer's process priority
is set to abovenormal/high etc. I've tried this on a few WinXP (from 500MHz P3 to 1800+ AXP)
machines and they all share this very same problem.

AFAIK the actual problem is pretty simple: The while loop at libmpdemux/cache2.c (line 293)
displays the above-mentioned message as many times as it can and the Windows command
prompt simply becomes overflooded when it tries draw all the text it gets.
(You can actually see csrss.exe, some sort of graphics service, to eat a lot of
CPU resources, too. I also verifed this with a small c-program that simply
printf'd "\rfoo" a couple of million times.)

So IMHO this problem could be solved by displaying the status message
only a couple of times per minute etc. Unfortunaly I couldn't get
mplayer compile on my Windows so I'm not able to create a patch myself ;-(

Hopefully this one gets fixed sooner or later...

Cheers,
 Pekka




More information about the MPlayer-users mailing list