前端性能优化之卡顿监控与定位
卡顿检测卡顿,顾名思义则是代码执行产生长耗时,导致浏览器无法实时相应用户的操纵。那么,我们可以基于不同的方案,来监测当前页面相应的耽误。
Worker 心跳方案
对应浏览器来说,由于 JavaScript 是单线程的计划,当卡顿发生的时间,每每是由于 JavaScript 在执行过长的逻辑,常见于大量数据的遍历操纵,甚至是进入死循环。利用这个特效,我们可以在页面打开的时间,就启动一个 Worker 线程,使用心跳的方式与主线程举行同步。假设我们希望能监测 1s 以上的卡顿,我们可以设置主线程每间隔 1s 向 Worker 发送心跳消息。(固然,线程通讯本身必要一些耗时,且 JavaScript 的计时器也未必是准时的,因此心跳必要给予一定的冗余范围)
由于页面发生卡顿的时间,主线程每每是繁忙状态,我们可以通过 Worker 里丢失心跳的时间举行上报,就能实时发现卡顿的产生。但是其实 Worker 更多时间用于检测网页瓦解,用来检测卡顿的结果其实还不如使用window.requestAnimationFrame,因为线程通讯的耗时和耽误导致该方案不大准确。
window.requ
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]