Re: [AD] 4.0.2 release

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Wed, Jun 12, 2002 at 07:39:51PM +0200, Lo'oRiS il Kabukimono wrote:
>  - using framebuffer, expal is completely wrong (works fine under X):
> looks like it is flickering

AFAICS this problem will never be solved, simply because framebuffer
doesn't *have* vsync, needed to get smoth palette animation. Shawn
once posted a patch to the fbdev ml which implemented vsync, but they
decided to hold it on, because it allowed a user app to wait for the
vertical retrace. On a single machine you wouldn't mind this happening,
you would even encourage it since it allows for smoth page flipping
(another thing which inevitably sucks with a framebuffer).

However, looks like the vsync hack steps over the kernel scheduler (or
something vaguegly related like that), since the vsync is polling at
kernel level. This means nothing else other than the polling mechanism
gets the CPU, which leads to the point that somebody might 'steal' or
'block' CPU in a multitasking OS, which is not fair.

IIRC the fbdev guys decided to someday implement the vsync feature for
cards which didn't need polling and could read an interrupt. However, and
from my point of view, this defeats the purpose of vsync(): the interrupt
might be set correctly at time, but the kernel might still schedule
your program to recieve CPU 10ms later, thus gaining nothing. Besides,
the number of such cards is not big.

Hopefully I'm not saying something too stupid or mixing thoughts and
memories, it's been some time since this was discussed, and I haven't
followed if the fbdev guys really did something or are doing it in the
2.5.x kernel versions, which was said to be the milestone when they
would implement something similar to vsync.

At the moment it will stay like this. SDL games suck at page flipping too,
sometimes so badly I can't play them because sprites aren't drawn.

-- 
 Grzegorz Adam Hankiewicz   gradha@xxxxxxxxxx   http://gradha.infierno.org/



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/