PerformanceFrameTiming - 提供有关浏览器事件循环的帧计时数据
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
PerformanceFrameTiming
是一个抽象接口,提供有关浏览器事件循环的帧计时数据。一个帧表示浏览器在一个事件循环中的工作量,例如处理 DOM 事件,调整大小,滚动,渲染,CSS 动画等。具有 60Hz 刷新率的 60fps(每秒帧数)的帧速率是获得良好响应用户体验的目标。这意味着浏览器应在大约 16.7 毫秒内处理一个帧。
应用程序可以为 “frame
” 性能条目类型
注册 PerformanceObserver
,观察者可以检索有关每个帧事件持续时间的数据。此信息可用于帮助确定需要太长时间才能提供良好用户体验的区域。
属性
该接口没有属性,但是通过如下限定和约束属性来扩展以下 PerformanceEntry
属性(针对 “frame
” 性能条目类型
):
PerformanceEntry.entryType
返回 “frame
”。
PerformanceEntry.name
返回文档的地址。
PerformanceEntry.startTime
返回当帧开始时的 timestamp
。
PerformanceEntry.duration
返回一个 timestamp
,指示两个连续帧的 startTime
之间的差异。
方法
该接口没有方法。
实例
请参见使用帧定时 API 中的实例。
规范
规范 | 状态 | 备注 |
---|---|---|
Frame Timing PerformanceFrameTiming 的定义 |
草稿 | 初始定义。 |
桌面浏览器兼容性
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持1 | 不支持1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
1. See Chrome bug 120796
2. 参阅 bug 1158032