это ссылка на анимацию холста http://www.html5canvastutorials.com/advanced/html5-canvas-linear-motion-animation/
теперь, как и в случае с обычной анимацией js, скорость зависит от скорости работы браузера с js.так что мой вопрос, есть ли у canvas способ привести их всех на один уровень?или уже есть решение для этого?
Проблема в том, что в Javascript setInterval() не дает надежного времени, особенно если браузер слишком медленно обновляет кадр за выделенное время.
setInterval()
Так что для каждого кадра вам нужновычислите время, прошедшее с предыдущего кадра, и используйте его для обновления вашей позиции.
Вот живой пример:
http://jsfiddle.net/txWqJ/1/
Если вы хотите, чтобы холст рендерился с той же скоростью, используйте
setTimeout(doMoreRendering, 1000 / fps)