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.