[maemo-developers] [maemo-developers] SDL, Re: SDL vertical blank (vbl) sync.

From: Frantisek Dufka dufkaf at seznam.cz
Date: Wed May 31 09:52:01 EEST 2006
Tapani Pälli wrote:
>> As for the manual vs automatic updates, that brings another question.
>> How often is the screen really updated? I saw in the kernel source
>> there is manual vs automatic update mode but which one is actualy 
> 
> We are updating areas (dirty-rects), it would hog the memorybus if we
> would be updating whole screen all the time.

Yes, I didn't mean whole screen. As for the modes I later found dmesg 
prints only changes between states 'disabled' and 'manual' so the answer 
is manual.

> Do you think
> blitting is too slow now? I don't think X is  there the bottleneck at
> all, the true bottleneck is the memorybus.

No I was not concerned about speed but more about functionality and 
unneeded layers that may hide some of them. As for the functionality I 
mean vblank syncing/double buffering to take care of the tearing effect 
and maybe also direct YUV blits for implementing video player in SDL. As 
SDL can lie about everything I'm not sure if it supports YUV surfaces in 
software or uses kernel features.  Also as for the pixel doubling, this 
was told it is basically unstable because you cannot turn it off fast 
enough or at all if X decides to draw something or your application crashes.
http://maemo.org/maemowiki/GameDevelopment#head-6d05e5cc815205f4c0ac4ba09fee0ea5c9d3ff85
By using kernel driver directly from SDL it might be easier as you might 
set pixel doubling mode per each update rectangle separately (if I 
understood kernel source correctly, which may not be the case :) so it 
will not remain turned on. Otherwise there is no need to use it directly 
if X allows to do all of this properly.

Frantisek

More information about the maemo-developers mailing list