PipelineEntry

PipelineEntry 负责记录 Lynx Pipeline框架渲染(Framework Rendering)引擎渲染(Pixel Pipeline)关键时刻的性能数据,继承自 PerformanceEntry

Lynx Pipeline 是指从渲染触发到最终显示的完整流程。该流程分为四个主要部分:加载(Load)、解析(Parse)、框架渲染(FrameworkPipeline)、引擎渲染(PixelPipeline)。

由于 Lynx Pipeline 触发频繁,框架仅统计以下两种情况:

  1. __lynx_timing_flag 标记的 Lynx Pipeline,产生的性能数据为 PipelineEntry
  2. 加载执行 TemplateBundle 触发的 Lynx Pipeline,产生的性能数据为 LoadBundleEntry

以下是 PipelineEntry 的流程图:

示例

该示例展示了如何产生和获取 PipelineEntry

实例属性

entryType

entryType: string;

性能事件的类型,当前类所有实例的值均固定为 pipeline

name

name: string;

性能事件的具体名称,此处用于区分 Pipeline 的触发源,取值如下:

  • loadBundle
  • reloadBundleFromNative
  • reloadBundleFromBts
  • updateTriggeredByBts
  • updateTriggeredByNative
  • updateGlobalProps
  • setNativeProps

identifier

identifier: string;

某条 Lynx Pipeline 的标记。有以下两种取值情况:

  1. __lynx_timing_flag 标记的 Lynx Pipeline,identifier 等于 __lynx_timing_flag 的值
  2. 加载执行 TemplateBundle 触发的 Lynx Pipeline,identifier 为空字符串

pipelineStart

pipelineStart: number;

渲染流水线的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

pipelineEnd

pipelineEnd: number;

渲染流水线的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

mtsRenderStart

mtsRenderStart: number;

执行主线程脚本构建 Element Tree 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

mtsRenderEnd

mtsRenderEnd: number;

执行主线程脚本构建 Element Tree 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

resolveStart

resolveStart: number;

计算 Element 样式的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

resolveEnd

resolveEnd: number;

计算 Element 样式的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

layoutStart

layoutStart: number;

布局计算的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

layoutEnd

layoutEnd: number;

布局计算的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

paintingUiOperationExecuteStart

paintingUiOperationExecuteStart: number;

执行绘制相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

paintingUiOperationExecuteEnd

paintingUiOperationExecuteEnd: number;

执行绘制相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

layoutUiOperationExecuteStart

layoutUiOperationExecuteStart: number;

执行布局相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

layoutUiOperationExecuteEnd

layoutUiOperationExecuteEnd: number;

执行布局相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

paintEnd

paintEnd: number;

基于 UI 和 UITree,完成最终像素化的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。

frameworkPipelineTiming

frameworkPipelineTiming:  FrameworkPipelineTiming[keyof FrameworkPipelineTiming];

框架渲染中关键阶段的性能数据. 类型为 FrameworkPipelineTiming

兼容性

LCD tables only load in the browser

除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。