From: Peter S. <shu...@pa...> - 2002-02-18 19:36:36
|
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 runnin= g. mplayer eats 20%, X also. DMA is working. This sucks and I doubt it is send= ing 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 fram= es > into overlay ? I could but I'm lazy :-) I really think it is what Michel (?) said in other email, that XSync is doi= ng 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=FC=DFen Peter Surda (Shurdeek) <shu...@pa...>, ICQ 10236103, +436505= 122023 -- Press every key to continue. |