提交 6e2e6464 编写于 作者: ocean2o11's avatar ocean2o11

iOS高性能模式

上级 e73f6190
# iOS高性能模式(beta)
## 什么是高性能模式
在iOS环境下,标准的微信小游戏WASM运行模式是无JIT, 对于计算性能要求较高的游戏会受到比较大的限制。常见情况是:
1. 中低端机帧率较低,流畅度难以达到上线标准
2. 对CPU计算资源消耗过高,运行一段时间后设备温度持续上升
小游戏环境框架提供了高性能运行模式,该运行模式下CPU算力得到明显提升。但该模式也存在更严格的内存与代码包体限制,需要开发者采取合适的手段以达到最优。
## 性能提升
使用Unity所提供的Benchmark Demo的部分案例进行评测:
- Instntiate & Destroy
- Animation & Skinning
- Physics Cubes
- AI Agents
测试过程为不断增加运算复杂度,直到帧率下降到特定数值。
分数越高,代表的运行能力越强。
<image src='../image/iosoptimization1.png' width="250"/>
<image src='../image/iosoptimization2.png' width="250"/>
上图分别是iOS端普通模式与高性能模式的得分,可以看到在几个压测示例中高性能模式均明显优于普通模式。
经实际游戏测试,游戏帧率都会得到明显改善,虽无法达到Benchmark几乎一个数量级的差异。
## 如何开通
iOS端小游戏高性能模式目前为Beta版本,适用于遇到iOS环境运行性能不足的小游戏。需要该能力的开发者请建联”小游戏研发助手“(minigamedevop08)并提供APPID。
## 高性能模式限制
### 内存限制
高性能模式下,iOS低端机(6s/7/8等)2G RAM记性的内存限制为1G,高端机(7P/8P/iPhoneX/XSAMX/11等)3G以上内存机型的内存限制为1.4G,因此开发者务必保证内存峰值不超过该数值。
建议开发者使用[压缩纹理工具](CompressedTexture.md)降低内存使用。
### 代码体积限制
高性能模式下,WASM代码将被编译并优化,需要占用更多的编译消耗与内存。如果未进行优化前,可以明显感受到启动开始阶段(如启动前1分钟内)设备发烫。
建议开发者使用[代码分包工具](Design/WasmSplit.md)减少代码包体积。
## QA
1. 使用高性能模式下,游戏本身是否需要做修改?
不需要,普通模式与高性能模式可以无缝切换
2. 使用高性能模式下,必须如果不优化内存和代码包体积可以吗?
不建议。如果不做任何优化的情况下,很有可能会遇到超出内存限制而崩溃,启动时发烫现象严重等问题。
3. iOS高性能模式与安卓性能对比如何?
两种系统环境下,WASM执行都是编译优化代码,因此运行性能不会相差很大。但由于底层虚拟机差异过大以及自身不断迭代,难以横向对比。
\ No newline at end of file
......@@ -54,6 +54,7 @@
- [音频适配优化](Design/AudioOptimization.md)
- [压缩纹理优化](Design/CompressedTexture.md)
- [资源优化工具与建议](Design/AssetOptimization.md)
- [iOS高性能模式beta](Design/iOSOptimization.md)
能力适配
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册