Почему игра измеряет время между кадрами
Компьютер не рисует игру с идеально ровным интервалом: один кадр может подготовить быстро, другой — задержать из-за сложной сцены или фоновой задачи. Поэтому игровая симуляция не должна считать, что каждое обновление всегда длится одинаково. Она измеряет прошедшее время — дельта-время — и использует его при расчёте движения.
Как поправка сохраняет скорость
Представим персонажа, который должен проходить пять метров за секунду. Если между обновлениями прошло 0,02 секунды, игра переместит его примерно на 0,1 метра; если 0,04 секунды — примерно на 0,2 метра. Чем дольше компьютер не обновлял картинку, тем больший отрезок движения симуляция учитывает за один шаг.
Так скорость задаётся в единицах за секунду, а не в единицах за кадр. Если бы персонаж перемещался, например, на фиксированное расстояние при каждом кадре, частота кадров напрямую влияла бы на темп игры: мощный компьютер выдавал бы больше кадров за секунду — и ускорял бы движение.
Почему одного дельта-времени не всегда хватает
Поправка решает проблему зависимости скорости от производительности, но слишком большой промежуток между кадрами может сделать поведение объектов неточным: за один шаг персонаж способен перескочить через тонкую преграду. Поэтому игры нередко считают физику отдельными небольшими шагами, даже если изображение обновляется реже или с неровным интервалом.
Именно разделение времени и числа кадров позволяет одной и той же игровой логике сохранять заданный темп на компьютерах с разной мощностью.






