Да, спасибо за дополнение. В оригинальном выступлении мы плавно переходили от использования setInterval и данный подход использовался для наглядности.
Согласен. Информация о приемах оптимизации рендеринга тянет на отдельную статью.
Немного дополнительной информации на тему производительности есть в видеозаписи.
Данная статья скорее об общих принципах отрисовки и организации кода.
Нагляднее всего для чего нужен
dtвнутри функцииrenderотображено в коде первого примера Различный FPS для update() и render()dtиспользуется для отрисовки промежуточных значений между двумя кадрами game loop, в случае если «render loop» вызывается чаще чем «game loop».Не увидел в демке функцию
render...