虽然以下代码可以节省一些能量,但FPS没有被正确地限制。当它应该将帧率锁定在60 FPS时,我得到了82。同样的情况也发生在30 FPS上,我只得到了49 FPS。
计算FPS:
我哪里出了错?
计算FPS:
previousTime = currentTime;
currentTime = SDL_GetTicks();
fps_++;
if (currentTime - lastOutput >= 1000)
{
lastOutput = currentTime;
fps = fps_; // the variable 'fps' is displayed
fps_ = 0;
}
限制帧率:
if (currentTime - previousTime < 1000 / maxFPS)
{
SDL_Delay(1000 / maxFPS - currentTime + previousTime);
}
我哪里出了错?