Обновление всех полотен в одном requestAnimationFrame
совершенно нормально.
Если полотна независимы друг от друга и появляются в разных разделах страницы, вы можете использовать отдельные обработчики requestAnimationFrame
, передав элемент canvas
в качестве второго аргумента.Таким образом, обновляются только видимые на данный момент холсты.(Однако передача элемента в качестве второго аргумента зависит от WebKit.)
Что делает requestAnimationFrame
, так это сообщает браузеру, что вы хотите обновить внешний вид страницы.Браузер вызывает обратный вызов, когда страница или элемент находятся рядом для перерисовки.И это произойдет, когда страница / элемент видна, и никогда не чаще, чем частота обновления экрана.