For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/lynx-api/performance-api/performance-entry/pipeline-entry.md.
Lynx
  • 简体中文
  • 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

    hostPlatformTiming

    hostPlatformTiming: AndroidHostPlatformTiming |
      HarmonyHostPlatformTiming |
      IOSHostPlatformTiming;

    Lynx Pipeline 中不同平台特有的关键阶段的性能数据, 类型为 AndroidHostPlatformTiming | HarmonyHostPlatformTiming | IOSHostPlatformTiming

    actualFmp

    actualFmp?: PerformanceMetric;

    从准备 TemplateBundle 至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:actualFmp = PipelineEntry.paintEnd - InitContainerEntry.prepareTemplateStart

    lynxActualFmp

    lynxActualFmp?: PerformanceMetric;

    从加载 TemplateBundle 至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:lynxActualFmp = PipelineEntry.paintEnd - LoadBundleEntry.loadBundleStart

    totalActualFmp

    totalActualFmp?: PerformanceMetric;

    从用户打开页面至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric

    计算公式为:totalActualFmp = PipelineEntry.paintEnd - InitContainerEntry.openTime

    兼容性

    LCD tables only load in the browser

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