1.1 四个心理准备:算力、内存、发热、碎片化
心理准备一:算力是「持续值」不是「峰值」
PC 显卡可以长时间跑满,手机 SoC 的「峰值性能」只能维持几十秒到几分钟——之后热降频(Thermal Throttling)介入,频率腰斩。这意味着:
- 你按「峰值」帧率调好的效果,玩家手里玩 10 分钟就掉到一半帧率
- 基准测试必须跑 15 分钟以上,而不是看 Benchmark 第一分钟
- 目标帧率定 30fps 稳定,而不是「60 能跑但要碰运气」
我的项目经验:同样是 60fps 目标,PC 项目的预算是「帧时间 16.6ms」,移动端项目预算要按降频后 20ms~22ms来定。开始就按降频后的算力做美术标准,上线后才不会批量返工。
心理准备二:内存是「最硬」的天花板
手机内存不是「大硬盘」而是紧缺资源:
| 设备 | 可用游戏内存(大约) |
|---|---|
| 低端 Android(2~3GB) | 约 1GB 就可能被系统杀 |
| 中端 Android(4~6GB) | 1.5~2.2GB |
| iPhone(2~6GB) | iOS 更激进,前台占用高会被直接终止 |
- iOS 上的内存警告(Memory Warning)必须响应:卸载纹理、清缓存
- Android 的 LowMemoryKiller 杀进程不商量——崩溃率指标里有一大半其实是 OOM
- 目标内存:项目自己定红线(如中端机 1.4GB),超了就减内容
心理准备三:发热是玩家的直接体感
发热带来的三个后果:降频掉帧、手感变差、应用商店差评。省电不是小众优化:
- 论坛一句话差评「玩十分钟就烫手」,比任何 bug 都致命
- 手机的散热条件千差万别,同样配置帧率能差 30%
- 息屏、后台、网络下载都影响温度
经验值:稳定 30fps 比不稳定 60fps 的体感温度更低、口碑更好。高端机用动态分辨率「能 60 就 60,撑不住回 30」是常见做法。
心理准备四:碎片化比想象严重
- Android:GPU 厂商三家(Adreno/Mali/PowerVR)、驱动版本无数、系统版本从 9 到 15 都有人在用
- iOS:机型不算多,但 Mini/Pro Max 屏幕差异、iPad 比例都要单独适配
- 屏幕刷新率 60Hz/90Hz/120Hz 混杂、刘海屏/打孔屏、安全区不统一
应对的抓手就是设备描述文件 + 分级(下一节),而不是「为每台机器定制」。
常见错配
| PC 思维 | 移动端现实 |
|---|---|
| 开 Lumen 才「画质好」 | 移动端 Lumen 关掉或极低(见 2.2) |
| 4K 纹理是标配 | 移动端 1024~2048 封顶 |
| 实时阴影提高档次 | 移动端阴影是第一性能杀手之一 |
| 内存不够加虚拟内存 | 手机没有这个选项,超了系统杀你 |
| 亮屏时间随便跑 | 电池温度直接决定第 10 分钟还是不是你的帧率 |
本书的定位
「从 0 做一个移动端 demo」不是难点,公开课一大把;难的是「稳定上线 + 各档机器体感过关 + 审核通过」。这本书的大部分篇幅在后者。
心得:做移动端最大的转折点是「把目标从峰值性能改到持续性能」。当你开始用「20 分钟以后的帧率曲线」而不是「Benchmark 帧率」谈优化,你就进入移动端的节奏了。
