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 的定义
草稿 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 不支持1 不支持1 不支持2 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持1 不支持1 未知 不支持 未知 不支持 不支持

1. See Chrome bug 120796

2. 参阅 bug 1158032

相关链接