FCP 是衡量页面首次渲染完成所需时 间的关键性能指标。它指的是用户第一次看到 Lynx 页面中任意内容(如文本、图片等)所需的时间。MetricFcpEntry 是用于描述该指标的数据类型,继承自 PerformanceEntry。
FCP 事件在 Lynx 绘制完页面第一帧时触发。对于依赖网络请求或异步 IO 获取数据的页面,FCP 通常监测到的状态是 Loading 页或框架图,如下图:
根据不同起始点,Lynx 提供了 fcp、lynxFcp、totalFcp 三个指标。在渲染流程中,每个指标的定义如下图:
该示例展示了如何获取 MetricFcpEntry。
Lynx 在首帧渲染完成时计算 FCP。如果已经通过 LynxView.setExtraTiming 提供了容器时间戳,那么收到的 MetricFcpEntry 里会包含 fcp、lynxFcp 和 totalFcp 三项指标。否则,MetricFcpEntry 只包含 lynxFcp。补充容器时间戳后,其余指标将被重新计算。重新计算完成后,Lynx 将发送一个新的包含所有指标的 MetricFcpEntry。

性能事件的类型,当前类所有实例的值均固定为 metric。
性能事件的具体名称,当前类所有实例的值均固定为 fcp。
从准备 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:fcp = LoadBundleEntry.paintEnd - InitContainerEntry.prepareTemplateStart。
从加载 TemplateBundle 至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:lynxFcp = LoadBundleEntry.paintEnd - LoadBundleEntry.loadBundleStart。
从用户打开页面至首次渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:totalFcp = LoadBundleEntry.paintEnd - InitContainerEntry.openTime。
LCD tables only load in the browser