fix flip limiter

This commit is contained in:
FunkyFr3sh 2018-11-30 02:59:56 +01:00
parent c47a186102
commit abf71c70ca

View file

@ -701,14 +701,14 @@ HRESULT __stdcall ddraw_surface_Flip(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWS
else else
{ {
DWORD tick = This->lastFlipTick; DWORD tick = This->lastFlipTick;
while (tick % 17) tick++; while (tick % ddraw->flipLimiter.ticklength) tick++;
int sleepTime = tick - This->lastFlipTick; int sleepTime = tick - This->lastFlipTick;
int renderTime = timeGetTime() - This->lastFlipTick; int renderTime = timeGetTime() - This->lastFlipTick;
if (renderTime > 0) if (renderTime > 0)
sleepTime -= renderTime; sleepTime -= renderTime;
if (sleepTime > 0 && sleepTime <= 17) if (sleepTime > 0 && sleepTime <= ddraw->flipLimiter.ticklength)
Sleep(sleepTime); Sleep(sleepTime);
} }
} }