fix flip limiter
This commit is contained in:
parent
c47a186102
commit
abf71c70ca
1 changed files with 2 additions and 2 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue