Предел FPS (неточный)

Я пытаюсь выяснить, почему этот предел FPS не работает должным образом на некоторых компьютерах … например, когда я ограничиваю fps до 333, он покажет 250, а на некоторых компьютерах ограничение FPS будет работать очень хорошо (когда ограничение 333 будет работать ограничение 333, а не 250 или любое другое число).

    g_nFrameCount++;
DWORD currentTime = timeGetTime();

{
float fFrameLimit = 0;
if (g_nFrameLimitValue > 0)
fFrameLimit = 1000 / g_nFrameLimitValue;
if ((currentTime - g_dwLastTime) < fFrameLimit)
{
Sleep((int)fFrameLimit - (currentTime - g_dwLastTime));
currentTime = timeGetTime();
}
g_dwLastTime = currentTime;
}

if (g_dwLastFPSTime + FPS_INTERVAL<currentTime)
{
g_fFPS = (g_nFrameCount - g_nLastFrameCount)*FPS_INTERVAL / ((float)(currentTime - g_dwLastFPSTime)*(FPS_INTERVAL / 1000));
g_dwLastFPSTime = currentTime;
g_nLastFrameCount = g_nFrameCount;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]