Re: [AD] Recent 4.3 change?

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


On Tuesday 01 August 2006 18:17, Robert Ohannessian wrote:
> Just let Allegro pick the best method. If DRS is best in X, then that's
> what the X driver should do by default. DRS, after all, can be reduced
> to double buffering.

Well, what I was thinking of with DRS would be that the app could update any 
part of the screen when it wanted however often it wanted (much like now), 
instead of being forced to update a preserved off-screen buffer then flip (of 
course, this may still be preferable depending on the app, but still).

I'm talking like a GUI. You draw the widgets once, then don't touch them again 
until they get dirty. The idea being that /you/ only draw the updated areas. 
If you let Allegro decide to do DRS for you, you'd have to redraw everything 
to the back buffer (incase it doesn't want to do DRS and/or back buffer 
retention is not available), flip, and have Allegro only update the parts of 
the screen that are different. Instead of just drawing to the front buffer 
yourself.

I can't see any reason where Allegro would decide to do DRS on its own, given 
that the user would have to supply a full buffer (back buffer retention is 
not gauranteed everywhere and potentially comes with penalties where it is), 
have Allegro read and compare it to the front buffer, then only update where 
it's different. It'd be faster to have just copied it all over to begin with. 
To get the most speed benefits from DRS, the programmer himself would have to 
draw just the updates (and even still, it can be iffy that DRS may be faster) 
and be in control of how it's copied to the front buffer.




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