Original Post
The DDRAW Flip method exchanges the pointer of the BackBuffer with the pointer of the PrimarySurface. Why if I exchange them by hand he does not work? For example:
void MyFlip()
{
pPrimary->Lock();
pBack->Lock();
.
.
. // retrieve pointers
DWORD *Temp = lpBackPn;
lpBackPn = lpPrimaryPn;
lpPrimaryPn = Temp;
pPrimary->Unlock();
pBack->Unlock();
}