使用Javascript,在一个应用程序中,该应用程序使用为每个渲染帧运行的更新函数并寻求每一分钟的优化:
如果想要经常运行代码并且时间精度大多不重要,那么在使用setTimeout
循环还是仅在应用程序的更新函数中构建计时器之间是否有明智的选择?
例如,setTimeout
是否有一些意想不到的计算成本会使它明显变慢?或者,另一方面,setTimeout
会对应用程序产生积极影响,因为Javascript并不急于进行setTimeout
回调吗?
答案 0 :(得分:0)
使用时间戳差异优于setTimeout
,但仍需要渲染循环。因此,您可以将requestAnimationFrame
作为参数发送的时间戳差异用于回调函数。
我希望这能回答你的问题。
另请注意(正如您所提到的),setTimeout
被推迟到堆栈调用的末尾。这就是为什么在node.js中你有其他“延迟”函数的方法,而且你有一个更快的方法来计算时间戳差异,使用process.hrtime
而不必使用Date
对象。
长答案是:
使用
requestAnimationFrame
发送给回调的参数。