Как я понимаю, использование API JS requestAnimationFrame
предназначено для случаев, когда частоту кадров не нужно контролировать, но я использую случай, когда важно, чтобы <canvas>
обновлялся только на определенный интервал fps, который может быть где-то между 1 и 25 (от 1 до 25 кадров в секунду, то есть). Могу ли я каким-то образом эффективно использовать rAF для получения оптимизаций, которые он предлагает?
Этот вопрос имеет сходство с моим, но принятый ответ там приблизился к нулю для меня в контексте этого вопроса.
У меня есть два возможных решения. Первый включает использование цикла while
для остановки выполнения script для указанной задержки перед вызовом requestAnimationFrame
из обратного вызова. В примере, где я видел это, он фактически ограничивал fps анимации, но также, казалось, замедлял всю вкладку. Действительно ли это на самом деле хорошее решение? Второй вариант, как упоминается в вопросе, который я связал выше, вызывает requestAnimationFrame
в пределах setInterval
. Для меня это кажется немного запутанным, но может быть, это лучший вариант?
Или есть ли лучшая альтернатива для этого?