[ddraw] asynchronous screen updates

Piotr Pawłow pp at siedziba.pl
Thu Feb 5 08:02:27 CST 2004

On Wednesday 04 February 2004 23:31, Lionel Ulmer wrote:
> Well, you need to store the rectangle at Lock time but only draw it at
> Unlock time. And I have no idea if any game ever does concurrent locks (so 
> I have no idea how concurrent lock work).

OK, so that is another thing to find out

> So setting the rectangle dirty on Lock is not going to give us that much
> more garbage on screen than the usual stuff

There is a big difference between setting it Lock and on UnLock. Setting on 
UnLock is like saying: yeah, I know I may draw unfinished rectangles which 
you keep locked while I'm drawing, but I will fix them as soon as you finish 
and unlock them. But setting on Lock is like saying: I will draw this 
unfinished rectangle and I don't care to fix it later when it is finished.

The first method will in most cases cause no more than some tearing, the 
second will cause trails and other artifacts.

> (and, moreover, this only is a 
> problem on Windowed applications or on non-double buffered games (which
> COMI is the only example I know)).

Warlords Battlecry does not use double-buffering. It draws to an offscreen 
surface, then blits pieces of this surface to the front buffer. AFAIK the 
sequel does the same. Demos are here:


 Piotr Pawłow
 mailto:pp at siedziba.pl

More information about the wine-devel mailing list