Skip to content
阅读进度

doFrame 结束是不是表示这帧已经显示 如何确定首帧? ​

返回 Framework 与系统服务 目录

标准回答 ​

doFrame 结束只是应用侧帧处理到达某个阶段,后面还可能有 RenderThread、GPU、缓冲区等待、SurfaceFlinger 合成和实际呈现。确定首帧时,我会区分首次应用内容绘制、缓冲区提交和屏幕呈现,用 Perfetto 的应用与 SurfaceFlinger FrameTimeline、对应 Surface 或 layer,以及 present 相关信息关联起来。Actual Timeline 的区间也不能脱离所属轨道解释:应用帧与 Display 帧的终点含义不同。对于点击到首帧响应,要统一输入起点和实际呈现终点。

延伸追问 ​

doFrame 后面的数字可能是 Trace 参数或帧标识,应看该轨道说明,不能直接解释成耗时或已显示帧数。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。