移动端功耗与发热

自动关联目录:移动端功耗与发热

1. 定位

移动端有一个桌面没有的维度:时间。发热会导致降频,于是"刚启动很流畅,跑十分钟就卡"——这不是内存泄漏,是功耗问题。

一句话定位:移动端性能必须按"稳态帧率"评估,而不是"启动后 30 秒的帧率"。

2. 功耗的来源

来源说明
GPU 带宽移动端第一功耗大户(见 移动端渲染)
全屏 pass每个 pass 一次全屏读写
高分辨率直接线性放大带宽
CPU 高频满载逻辑与动画
网络与 IO加载与流式
屏幕亮度不由引擎控制,但影响总功耗

优化功耗 ≈ 优化带宽,这是移动端最核心的对应关系。

3. 测量方式

层级方法
硬件外接电表测整机功耗(最准)
平台方案厂商/第三方的功耗分析方案
引擎侧帧率曲线、GPU 计数器、温度相关 API
项目实测UE性能优化工具 的功耗章节(含硬件方案与软件方案)

判断有没有降频:跑一段固定回放,对比第 1 分钟与第 10 分钟的帧率曲线。掉了就是降频。

4. 发热降频的应对

手段说明
降渲染分辨率最有效(见 移动端渲染)
砍全屏 pass减少带宽
关 Mobile HDR见移动端渲染篇
Framepacing稳定帧节奏,避免忽快忽慢(见 UE性能优化工具)
限制帧率上限不必跑满,留出热预算
动态分辨率热了自动降
减少持续高负载例如待机时降低更新频率

Framepacing 的价值:即使平均帧率够,帧间隔不均匀也会明显感知为"卡"。

5. 代价与权衡

手段收益代价什么时候不该用
降分辨率功耗显著下降糊已到画质下限就只能砍 pass
限制帧率上限发热明显改善上限帧率变低竞技类需要高帧率
动态分辨率自动适应分辨率变化可见变化太频繁会被察觉
Framepacing手感更稳需要正确配置—
待机降频省电恢复时可能顿一下关键交互期间不要降

6. 踩坑与排查

坑现象怎么验证
只测启动后几十秒没发现降频跑 10 分钟以上固定回放
把降频当成泄漏错误归因对比前后帧率曲线即可区分
只看平均帧率忽略抖动看帧间隔分布 + Framepacing
桌面工具测移动端功耗结论无效用硬件电表或平台方案
开 Mobile HDR 没评估发热关掉对比(见移动端渲染篇)
全屏后处理太多带宽爆统计 pass 数量
只在中高端机测低端机崩测最低配机型

7. 排查顺序

1. 跑 10 分钟固定回放,对比前后帧率 → 确认是否降频
2. 是 → 降分辨率 / 砍 pass / 关 HDR / 限帧
3. 抖动 → Framepacing
4. 用硬件或平台方案测功耗,定位大户
5. 按移动端渲染篇的带宽优化顺序处理
6. 在最低配机型上验稳态帧率

参考