Skip to content

截图时间轴

展示方式

工作台在未运行 Session 时展示一张设备预览。Session 开始后,截图区域切换为横向时间轴:每个截图都以独立卡片保留,不会覆盖上一张;Session 结束后仍可在工作台看到本次 Session 的截图卡片,并可在 Review 中再次回放。

固定频率与时间坐标

口径
目标频率1.0 秒一张
调度方式以 Host monotonic deadline 推进;请求耗时不叠加整秒,超时跳到下一个间隔,避免连续补发
时间轴session-timeline.v1elapsedSeconds
排序elapsedSeconds 升序;相同时间保留追加顺序
卡片标识持久化 SessionScreenshot.id,跨 UI 刷新保持稳定

截图采集节拍和展示节拍使用同一份常量 PerformanceSessionController.screenshotIntervalSeconds。截图时间点不由 SwiftUI 刷新时刻重新计算;因此截图、指标样本和标注可以在同一条时间轴上对齐。

质量语义

  • 成功截图保存为 Session 目录内的 PNG 附件,卡片显示图片、elapsed、序号和字节数。
  • 失败、取消、设备断开或附件缺失仍保留事件时间点和质量原因;卡片显示占位,不回退到上一张成功图片。
  • 缺失值保持缺失,不转换为 0。截图是低频辅助证据,不代表逐帧 Display 真值。

Review 回放

Review 使用同一 session-timeline.v1 加载截图,支持横向查看成功与失败卡片、标注与指标曲线。JSONL / CSV 导出保留截图相对路径、质量、错误原因和 elapsed,不把图片二进制嵌入文本导出。

来源批次:P4 工作台布局与截图时间轴 · P4 截图、标注与导出

Perfowl · Performance Observer