在更新循环中使用setTimeout vs比较时间戳
using setTimeout vs comparing timestamp on an update loop
使用Javascript,在一个应用程序中,使用一个更新函数,运行每个渲染帧,并寻求每一个微小的优化:
如果一个人想要经常运行代码,而时间的精度几乎不重要,那么在使用setTimeout
循环或仅仅在应用程序的更新函数中构建计时器之间是否有一个明智的选择?
例如,setTimeout
是否有一些意想不到的计算成本,使其明显变慢?或者,在另一方面,setTimeout
会积极影响应用程序,因为Javascript不急于使setTimeout
回调发生?
使用时间戳差异比setTimeout
更好,但仍然需要有呈现循环。因此,您可以使用requestAnimationFrame
作为回调函数参数发送的时间戳差异。
我希望这能回答你的问题。
还请记住(正如您提到的),setTimeout
被推迟到堆栈调用的末尾。这就是为什么在node.js中你有其他的方法来"延迟"函数,而且你也有一个更快的方法来计算时间戳的差异,通过使用process.hrtime
而不是使用Date
对象。
长话短说就是:
使用
requestAnimationFrame
发送给回调的参数
相关文章:
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Js.erb VS按钮标记-不'不起作用.为什么?
- reactjs this.refs vs document.getElementById
- setTimeout可以与闭包内的函数一起使用吗
- Javascript setTimeout for an array
- 刷新后,setTimeout将工作或不工作
- 继续使用javascript中的setTimeout
- setTimeout函数能否在其前面的代码执行之前激发
- jQuery setTimeOut: in for-loop
- setTimeout vs. 事件绑定/取消绑定;什么更有效
- setTimeout(0) vs window.postMessage vs MessagePort.postMessa
- 在JS中从php文件执行字符串,setTimeout vs eval()
- setTimeout vs setInterval again
- 调试dojo小部件事件- setTimeout vs callstack
- While vs setTimeout in Javascript
- setTimeout(myFunction, 5000); vs setTimeout(myFunction(), 50
- 在HTML5应用程序中下载后台数据到浏览器数据库- settimeout vs工作线程
- 在更新循环中使用setTimeout vs比较时间戳