Я программирую игру на C++, и у меня возникли проблемы с созданием способа, так что игра обновляется только 60 раз в секунду. Код, который я написал выглядит, как он должен работать, но частота кадров фактически заканчивается в 44 кадров в секунду вместо 60.Проблема с частотой кадров в игре C++
const int FRAMES_PER_SECOND = 60;
const int FRAME_CONTROL = (1000/FRAMES_PER_SECOND);
double lastFrameTime;
double currentFrameTime;
void GameLoop()
{
currentFrameTime = GetTickCount();
if ((currentFrameTime - lastFrameTime) >= FRAME_CONTROL)
{
lastFrameTime = currentFrameTime;
// Update Game.
}
}
Так что да, это должно быть 60 кадров, но это на самом деле работает на 44, а также класс, который я использую для подсчета частоты кадров, отлично работает в других программах, которые уже имеют ограниченную частоту кадров.
Любые идеи, в чем проблема?
Является ли '// Update Game' способным работать менее чем за шестидесятую секунды? –
Возможно ли, что ваша игра слишком интенсивна и просто не управляет 60 FPS? – Angew
Да, без управления частотой кадров он будет работать со скоростью около 500 кадров в секунду. –