
【Camera】【性能】预览延迟问题拆解
测试步骤
使用 DelayMeter 中的计时工具,摆放在最里面 预览画面对准秒表,摆放在中间,与秒表位置有小幅错位 使用 DelayMeter 录制的机器找好角度对准秒表和被测机器 点击”延迟测量”调出拍照界面,保持被测机器和秒表画面清晰后点击拍照
期望结果
测试机数据不超过标准值 220ms
数据汇总表
| 测试条件 | 设备类型 | App下发帧(ms) | 底层处理返帧(ms) | 送显(ms) | 平均耗时(ms) |
|---|---|---|---|---|---|
| 开启美颜 | 对比机 | 33.02 | 176.17 | 25 | 234 |
| 测试机 | 33.21 | 174.09 | 20 | 227 | |
| 关闭美颜 | 对比机 | 33.14 | 161.36 | 14 | 208 |
| 测试机 | 33.25 | 158.75 | 14 | 205 | |
| Force FPSGO off | 对比机 | 32.97 | 171.43 | 17 | 221 |
| 测试机 | 33.16 | 165.24 | 15 | 213 |
耗时拆解
开启美颜
对比机数据
- 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 ≈ 227ms4.2 美颜处理耗时对比
| 指标 | 测试机(ms) | 对比机(ms) | 差值(ms) |
|---|---|---|---|
| 最大耗时 | 23.1 | 34.73 | 11.63 |
| 最小耗时 | 4.17 | 9.46 | 5.29 |
| 平均耗时 | 10.75 | 15.00 | 4.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 ≈ 205msForce 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 ≈ 213msForce FPSGO off 美颜处理耗时对比
| 指标 | 测试机(ms) | 对比机(ms) | 差值(ms) |
|---|---|---|---|
| 最大耗时 | 30.07 | 35.97 | 5.90 |
| 最小耗时 | 2.34 | 8.97 | 6.63 |
| 平均耗时 | 4.86 | 12.63 | 7.77 |
结论
① 测试机比同比机屏幕消费bufferTX有波动。
② 预览过程中FPSGO会对CPU进行降频,force FPSGO off后耗时会有一定的减少
FPSGO 关闭之后会有10ms左右的优化,但关闭FPSGO会导致功耗的提升,实际测试时,都在220ms左右有较大波动,实际感受差异不大。实际测试数据测试机耗时数据优于对比机,总体评估后关闭FPSGO方案不可行,综上,建议保持现状。
编辑于 2026-06-15 · 著作权归作者所有