Performance API - 支持应用程序内的客户端测量延迟时间
高精度时间标准定义了一个 Performance
接口,该接口支持应用程序内的客户端测量延迟时间。Performance
接口被认为是高精度的,因为它们精确到千分之一毫秒(受硬件或软件限制)。该接口支持许多用例,包括计算帧速率(在动画中可能很重要)和基准测试(例如加载资源的时间)。
由于平台的系统时钟受各种偏差(例如 NTP 调整)的影响,因此接口支持单调时钟,即始终增加的时钟。因此,Performance
API 定义了一个 DOMHighResTimeStamp
类型,而不是使用 Date.now()
接口。
接口
Performance
提供包含给定页面与时间相关的性能信息的方法和属性。
PerformanceEntry
提供了封装单个性能指标的方法和属性,是性能时间线的一部分。
PerformanceMark
条目类型
为 “mark
” 的性能条目
的抽象接口。这种类型的条目是通过调用 performance.mark()
将命名的 DOMHighResTimeStamp
(标记)添加到浏览器的性能时间线来创建的。
PerformanceMeasure
条目类型
为 “measure
” 的性能条目
的抽象接口。这种类型的条目是通过调用 performance.measure()
在浏览器的性能时间线的两个标记之间添加一个命名的 DOMHighResTimeStamp
(度量)来创建的。
PerformanceNavigationTiming
提供方法和属性来存储和检索高精度时间戳 或有关浏览器文档导航事件的指标。
PerformanceObserver
提供用于观察性能测量事件的方法和属性,并在浏览器的性能时间线中记录新的 性能条目 时收到通知。
PerformanceResourceTiming
提供用于检索和分析有关应用程序资源加载的详细网络计时数据的方法和属性。
规范
规范 |
---|
High Resolution Time |
Navigation Timing |
Performance Timing |
Resource Timing |
User Timing |
实现状态
如 Performance
接口的 浏览器兼容性 表中所示,桌面浏览器实现实现了这些接口中的大多数。
要测试浏览器对 Performance
接口的支持,请运行 perf-api-support
应用程序。