如果我有一个使用requestAnimationFrame的循环,如下所示:
function render() {
// Rendering code
requestAnimationFrame(render);
}
如果将requestAnimationFrame
in放在函数的开头,会不会有任何区别,如下所示:
function render() {
requestAnimationFrame(render);
// Rendering code
}
我没有注意到任何区别,但是我已经看到了这两种实现,它们中的一种以任何方式都更好,或者它们是相同的吗?
编辑:我想过的一件事是,如果我将其放在开头,并且渲染代码需要相当长的时间才能运行,例如10ms,难道不是将其放在结尾会使帧速率下降10ms吗?
requestAnimationFrame
确实总是异步调用其回调,因此只要您的呈现代码是同步的并且不引发异常,就不会有任何区别。
本质上,这是一种样式选择,请自己选择哪种方法更清洁。将其放在顶部可能会强调render
调度本身,即使在呈现错误的情况下也是如此。将其放在底部可以有条件地退出渲染循环(例如,当您想暂停游戏时)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句