В справке про таймер написано о возможных расхождениях во времени. То-есть таймер не гарантирует строго указанную ему точность выполнения. Он стремится к ней, но в реале сказываются факторы производительности и сложности вычислений.
Там-же чуть ниже написано:
Цитата:
|
delay:Number — Задержка в миллисекундах между событиями таймера. Не рекомендуется задавать свойству delay значение меньше 20 миллисекунд. Частота объекта Timer ограничена 60 кадрами в секунду, то есть задержка меньше 16,6 миллисекунд вызывает проблемы во время выполнения.
|
Если нужна безукоризненная точность, используйте метод getTimer() для получения прошедшего времени. Рассчитывайте состояние программы или шага анимации на основе прошедшего времени.