【Camera】【性能】预览延迟问题拆解

【Camera】【性能】预览延迟问题拆解

测试步骤

使用 DelayMeter 中的计时工具,摆放在最里面 预览画面对准秒表,摆放在中间,与秒表位置有小幅错位 使用 DelayMeter 录制的机器找好角度对准秒表和被测机器 点击”延迟测量”调出拍照界面,保持被测机器和秒表画面清晰后点击拍照

期望结果

测试机数据不超过标准值 220ms

数据汇总表

测试条件设备类型App下发帧(ms)底层处理返帧(ms)送显(ms)平均耗时(ms)
开启美颜对比机33.02176.1725234
测试机33.21174.0920227
关闭美颜对比机33.14161.3614208
测试机33.25158.7514205
Force FPSGO off对比机32.97171.4317221
测试机33.16165.2415213

耗时拆解

开启美颜

对比机数据

  • App下发req耗时:33.02ms
  • 底层每一帧完成的平均耗时:209.2ms
  • 曝光到帧完全送完:209.2 - 33.02 = 176.17ms
  • bufferTX持续时间 25ms


测试机数据

  • App下发req耗时:33.21ms
  • 底层每一帧完成的平均耗时:207.3ms
  • 曝光到帧完全送完:207.3 - 33.21 = 174.09ms
  • 屏幕bufferTX消费耗时:20ms


平均预览延迟计算

对比机:33 + 176.17 + 25 ≈ 234ms
测试机:33 + 174.09 + 20 ≈ 227ms

4.2 美颜处理耗时对比

指标测试机(ms)对比机(ms)差值(ms)
最大耗时23.134.7311.63
最小耗时4.179.465.29
平均耗时10.7515.004.25

4.3 关闭美颜场景

对比机数据

  • App下发req耗时:33.14ms
  • 底层每一帧完成的平均耗时:194.5ms
  • 曝光到帧完全送完:194.5 - 33.14 = 161.36ms
  • 屏幕bufferTX消费耗时:14ms

测试机数据

  • App下发req耗时:33.25ms
  • 底层每一帧完成的平均耗时:192ms
  • 曝光到帧完全送完:192 - 33.25 = 158.75ms
  • 屏幕bufferTX消费耗时:14ms

平均预览延迟计算

对比机:33 + 161.36 + 14 ≈ 208ms
测试机:33 + 158.75 + 14 ≈ 205ms

Force FPSGO off 场景

对比机数据

  • App下发req耗时:32.97ms
  • 底层每一帧完成的平均耗时:204.4ms
  • 曝光到帧完全送完:204.4 - 32.97 = 171.43ms
  • 屏幕bufferTX消费耗时:17ms

测试机数据

  • App下发req耗时:33.16ms
  • 底层每一帧完成的平均耗时:198.4ms
  • 曝光到帧完全送完:198.4 - 33.16 = 165.24ms
  • 屏幕bufferTX消费耗时:15ms

平均预览延迟计算

对比机:33 + 171.43 + 17 ≈ 221ms
测试机:33 + 165.24 + 15 ≈ 213ms

Force FPSGO off 美颜处理耗时对比

指标测试机(ms)对比机(ms)差值(ms)
最大耗时30.0735.975.90
最小耗时2.348.976.63
平均耗时4.8612.637.77

结论

① 测试机比同比机屏幕消费bufferTX有波动。
② 预览过程中FPSGO会对CPU进行降频,force FPSGO off后耗时会有一定的减少

FPSGO 关闭之后会有10ms左右的优化,但关闭FPSGO会导致功耗的提升,实际测试时,都在220ms左右有较大波动,实际感受差异不大。实际测试数据测试机耗时数据优于对比机,总体评估后关闭FPSGO方案不可行,综上,建议保持现状。

编辑于 2026-06-15 · 著作权归作者所有