ma, 2006-09-18 kello 10:49 +0300, Marko Mäkelä kirjoitti:
> On Sun, Sep 17, 2006 at 11:46:23PM +0300, Heikki Lindholm wrote:
> > > You didn't get rid of the CPU-burning Flip() calls, did you?  At least
> > > on my system, DirectFB spends about 10% of the CPU cycles waiting for
> > > MGA engine ready.  Adding a usleep(2000) right before the Flip() call
> > > reduces the CPU load but risks dropping frames.  I believe it would be
> > > much more efficient if the Flip() method blocked the thread until the
> > > hardware is ready.  That would require some new ioctl() in the kernel.
> > 
> > I read your earlier comment about this on the list. I was curious to ask
> > if you could elaborate on this a bit. I _very_ briefly looked at what
> > the Flip call does, and the only wait I saw was the wait for vsync,
> > which for matroxfb seems to be nicely handled by a waitqueue in the
> > kernel.
> 
> No, in fact it is waiting for the current operation to finish.  If you
> do Flip() immediately after initiating a large blit operation, the CPU
> will busy-wait in mga_waitidle() until the operation has finished.

Ok. I'll look into that. I don't care if I have to add (dirty) hacks to
the kernel, because the vdr box will be single-purpose anyway. Was there
some patches floating around already, or just conceptual stuff?

-- Heikki Lindholm

_______________________________________________
Softdevice-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/softdevice-devel

Reply via email to