mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 14:14:47 +01:00
some changes to gdi frameskip
This commit is contained in:
parent
98ec61d79b
commit
ff9bdeaf40
@ -55,19 +55,19 @@ DWORD WINAPI render_soft_main(void)
|
||||
|
||||
while (ddraw->render.run && WaitForSingleObject(ddraw->render.sem, INFINITE) != WAIT_FAILED)
|
||||
{
|
||||
BOOL skipFrame = FALSE;
|
||||
|
||||
if (maxFPS > 0)
|
||||
{
|
||||
DWORD curTick = timeGetTime();
|
||||
if (lastTick + frameLength > curTick)
|
||||
{
|
||||
SetEvent(ddraw->render.ev);
|
||||
continue;
|
||||
}
|
||||
lastTick = curTick;
|
||||
skipFrame = TRUE;
|
||||
else
|
||||
lastTick = curTick;
|
||||
}
|
||||
|
||||
#if _DEBUG
|
||||
DrawFrameInfoStart();
|
||||
if (!skipFrame) DrawFrameInfoStart();
|
||||
#endif
|
||||
|
||||
EnterCriticalSection(&ddraw->cs);
|
||||
@ -113,7 +113,7 @@ DWORD WINAPI render_soft_main(void)
|
||||
DIB_RGB_COLORS,
|
||||
SRCCOPY);
|
||||
}
|
||||
else if (!ChildWindowExists && (ddraw->render.width != ddraw->width || ddraw->render.height != ddraw->height))
|
||||
else if (!skipFrame && !ChildWindowExists && (ddraw->render.width != ddraw->width || ddraw->render.height != ddraw->height))
|
||||
{
|
||||
StretchDIBits(
|
||||
ddraw->render.hDC,
|
||||
@ -130,7 +130,7 @@ DWORD WINAPI render_soft_main(void)
|
||||
DIB_RGB_COLORS,
|
||||
SRCCOPY);
|
||||
}
|
||||
else
|
||||
else if (!skipFrame || ChildWindowExists)
|
||||
{
|
||||
SetDIBitsToDevice(
|
||||
ddraw->render.hDC,
|
||||
@ -151,7 +151,7 @@ DWORD WINAPI render_soft_main(void)
|
||||
LeaveCriticalSection(&ddraw->cs);
|
||||
|
||||
#if _DEBUG
|
||||
DrawFrameInfoEnd();
|
||||
if (!skipFrame) DrawFrameInfoEnd();
|
||||
#endif
|
||||
|
||||
SetEvent(ddraw->render.ev);
|
||||
|
Loading…
x
Reference in New Issue
Block a user