Re: framebuffer general questions
From: Ondrej Zajicek <hidden>
Date: 2009-11-16 00:05:21
On Mon, Nov 16, 2009 at 12:28:06AM +0100, René Kolařík wrote:
Thanks for your answer, but it implied some other questions :-)
You said, that accelerated functions are called from console - so programs wich are drawing directly to FB (like QT embedded in my case) have no profit from them? Or do they?
They have no profit from them.
What is actually the best technique of using FB (for achieving the best performance) - should i malloc a piece of RAM, draw to it and then memmove it to FB mapped address as a whole frame or draw directly to FB? Or it doesnt matter?
Depends on hardware and style of drawing. Dedicated graphics cards have slower write (compared to main memory speed) and very slow read, so you really don't want to do alpha-blending directly on mmaped framebuffer.
When i greped through drivers sources i was expecting that accelerated drivers will use mmap only for registers and that the imageblit function would be implemented as some DMA fetching from system memory. But i was wrong, there are still mmaps to video memory. So i want to ask, if that idea is completely wrong and why drivers of GPUs use mmap to video mem, when they have DMA controller.
You mean fbdev drivers? FBdev API is designed to just allow mmap framebuffer to userspace. It is not a good way to use modern GPU with DMA transfers. Perhaps you could use DRI for that. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."