gpt4 book ai didi

javascript - requestAnimationFrame 在函数的开头或结尾?

转载 作者:可可西里 更新时间:2023-11-01 02:06:11 26 4
gpt4 key购买 nike

如果我有一个像这样使用 requestAnimationFrame 的循环:

function render() {
// Rendering code

requestAnimationFrame(render);
}

如果我把requestAnimationFrame放在函数的开头会有什么不同吗,像这样:

function render() {
requestAnimationFrame(render);

// Rendering code
}

我没有注意到任何区别,但我已经看到了这两种实现方式,其中一种在任何方面都更好,还是相同?

编辑:我想到的一件事是,如果我把它放在开头,并且渲染代码需要很长时间才能运行,比如 10 毫秒,那么把它放在最后不会使帧速率下降 10 毫秒吗?

最佳答案

requestAnimationFrame 总是异步调用它的回调,所以只要您的渲染代码是同步的并且不抛出异常,它就没有任何区别。

这本质上是一种风格选择,您自己选择哪种方法更干净。将它放在顶部可能会强调 render 正在调度自身,即使在渲染中存在错误时也会这样做。将它放在底部可以有条件地跳出渲染循环(例如,当您想暂停游戏时)。

关于javascript - requestAnimationFrame 在函数的开头或结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38229386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com