On Mon, Feb 18, 2002 at 02:04:29PM -0500, Vladimir Dergachev wrote:
> > But I still don't understand why _X_ should hog the CPU:
[cut]
> Could it be that X is waiting for the engine to become quiscient ? So if
> you scheduled a DMA transfer already it has to busy wait for the card to
> finish. Which
>    a) creates unnecessary PCI traffic
>    b) wastes time..
This (wasting while waiting) is exaxtly what IMHO is causing this.

> The solution to this would be to not submit new frames faster than
> graphics card can handle them.
Actually, I reproduced it now with mplayer (sdl or xv) with only twm running.
mplayer eats 20%, X also. DMA is working. This sucks and I doubt it is sending
it faster than it should (I vaguely remember my card should be able to get 3
times 25fps dvd size at 16bpp). The tested video is 24 fps 640x480. It also
happens with smaller ones, but X eats less.


> Peter - Am I right in thinking that you have Rage128 card ?
Yes.

> Can you write a simple program to measure just how fast can you pump frames
> into overlay ?
I could but I'm lazy :-)

I really think it is what Michel (?) said in other email, that XSync is doing
busy-loop while waiting for the transfer to finish. I could rewrite it to do
usleep. I don't care really if it takes 10ms more to wait.

I'll report later.

>                       Vladimir Dergachev
Mit freundlichen Grüßen

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
                   Press every key to continue.

Attachment: msg02889/pgp00000.pgp
Description: PGP signature

Reply via email to