su, 2006-09-17 kello 23:17 +0300, Marko Mäkelä kirjoitti: > On Sun, Sep 17, 2006 at 08:33:37PM +0300, Heikki Lindholm wrote: > > The included patch makes dfb:mgatv use YV12 colourspace for video and > > the hardware subpicture layer for OSD. The patch is a prime example of > > bad goal-oriented programming, but does what I wanted: improves > > performance to the level that my 450 MHz P2 can now function as a DVB > > box like no underpowered P2 has done before! Unfortunately, the patch > > probably breaks everything else, but I'm too lazy to clean it up. > > I'm very much interested in this.
Then, maybe, I didn't waste my time posting it :) > 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. Where exactly is the wait you're referring to? I believe adding an usleep() is really artificial way of reducing cpu load and not really solving anything - at least when the CPU really is underpowered as in my case - unless there's some convenient reordering happening in the scheduling of the vdr threads caused by the added usleep. -- Heikki Lindholm _______________________________________________ Softdevice-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/softdevice-devel
