Re: [AD] X-windows screen updates |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> It updates the whole screen, or it uses dirty rectangles? If double
> buffering is used, then performance will be worse for programs that
> use dirty rectangles for updating screen. If dirty rectangles are
> used, then good dirty-rectangles API (allowing several DR lists at
> once) should be added to the library, and it can be used in all
> windowed drivers.
The DirectDraw windowed driver uses dirty rectangles and the updating
operation is performed by the drawing thread as soon as the screen is
released (either by the user or by the automatic locking/unlocking
mechanism).
The GDI driver now uses the same acquire/release scheme, but the updating
process is somewhat different: due to the slowness of GDI calls, the
previous approach is too inefficient; therefore, a separate thread is
responsible for updating the screen every x msecs, using a mix between dirty
rectangles and double buffering (so that at most only one GDI call is
performed per frame).
--
Eric Botcazou
ebotcazou@xxxxxxxxxx