[英]RequestAnimationFrame for multiple canvases
在单个requestAnimationFrame
中更新所有画布是完全可以的。
如果画布彼此独立并出现在页面的不同部分,那么您可能需要使用单独的requestAnimationFrame
处理程序,将canvas
元素作为第二个参数传递。 这样,只有当前可见的画布会得到更新。 (不过,将元素作为第二个参数传递是特定于 WebKit 的。)
requestAnimationFrame
的作用是告诉浏览器您想要更新页面的外观。 当页面或元素接下来要重绘时,浏览器会调用回调。 当页面/元素可见时就会发生这种情况,并且永远不会比屏幕刷新率更频繁。
使用requestAnimationFrame
只是让浏览器控制页面上何时发生重排/重绘。
最好在一个回调中更改所有画布,以便浏览器可以在一个 go 中重新绘制它们。
如果垫片不可用,垫片只会退回到计时器。
你应该没事。 在同一个循环中更新所有这些。
requestAnimFrame
没有“绑定”到 canvas 或任何东西,只是 function 你通过它。 因此,您可以将它与三个画布或零个画布一起使用就可以了。
在这种格式的 js 文件中使用 canvas 以便多个 canvas 的 RequestAnimationFrame 将起作用
(function(){ ... })();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.