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 帧率」谈优化,你就进入移动端的节奏了。