Впрочем факт остаётся фактом: 25 FPS явно недостаточно
Ende, коэффициент всякого обновления, зависящего от производительности умножай на коэффициент*дельта-тайм.
дельта-тайм = время смены кадров, я пользуюсь таким (псевдокод на б3д):
(просьба не ср*ть, что можно было обойтись одной переменной dt, на всё есть основания
)
Global dt
Начало_Цикла
cycletime = Millisecs()
Игра вместе с рендером, 2Д логикой и всё-всё-всё
dt = Millisecs() - cycletime
Конець_Цикла
Таким образом dt оказывается временем предыдущего цикла
Например: за каждый цикл сколько пикселей пролетит самолёт (напр, 100). Зависит от производительности? Да! Чем больше FPS тем больше раз произойдёт передвижение - тем дальше он сдвинется. Если передвигать не на константное значение, а на коэфф.*dt (например, если средний dt у нас 10 (грубо говоря при 100 FPS) то получим 10*dt) тогда чем больше времени прошло за рендер кадра (FPS уменьшилось) то ве увеличилось и пройденное расстояние тож -> изменение компенсировалось.
Очень важно отделить, где что зависит от dt, а где нет. В сложных формулах могут появиться квадраты и т.д. но в принципе пока я думаю у тебя такого нет. Разберись с этим, dt - крутая весчь!