Re: [AD] 4.3 display update methods

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


On Monday 24 July 2006 03:52, Peter Hull wrote:
> Looking at the update method flags for the display, I see that they
> are 'implementations' – i.e. double buffer, triple buffer etc.
>
> I think it would be desirable, and in the spirit of things we
> discussed earlier, if they were instead a representation of what the
> user wants to achieve.

I think it would be best to not give the user an option at all. Bob made an 
interesting point once about OpenGL drivers that might need to change the 
display update method on the fly, and the same could be true for Allegro. 
Allegro should just pick the best (performing) update method given what mode 
its in and with the user is doing. Similar to OpenGL, just have an 
accessible 'front' buffer and a 'back' buffer, and let the user pick which to 
draw to.. this way, they can choose to implement dirty rectangles by drawing 
directly to the front buffer and not needing to flip, or they can stay 
buffered and flip every completed frame.

> I imagine that the user might want to specify a 'retained' mode, where
> anything drawn is maintained by Allegro, and a 'non-retained' mode, if
> the user is able to respond to a system request to redraw the display
> (this would be handled via events).

With compositing desktops coming up (and in some cases, already here), there'd 
be no need to implicitly do retention and drive down performance.. It might 
be useful to allow the user to capture redraw requests from the system in a 
cross-platform manner, but I don't see the need for implicit retention. Users 
using double buffering wouldn't need to worry since it'll be cleared up on 
the next frame update, and users doing dirty-rectangles on a non-compositing 
system can just watch for redraw events and add to their internal list of 
areas to redraw.

IMO, anyway.




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