Skip to content

性能优化总览

为何需要进行性能优化?

Unity WebGL导出形式相对于原生APP应用,需要开发者更关注性能与体验调优。有以下几点原因:

  • 小游戏天生为"即开即用",在小游戏生态下玩家对启动耗时更敏感。
  • Unity WebGL底层基于WebAssembly,算力不及原生APP。
  • Unity并未对WebGL平台做特别裁剪,启动较慢。

因此,相对于原生APP,无论从启动还是运行上我们都需要做进一步性能优化。

优化措施

1 推荐Unity版本

强烈建议使用unity 2021及以上版本,支持wasm函数缩减及资源纹理ASTC压缩模式。

2 定制启动封面

由于Unity WebGL启动加载需要一定时间,因此需要使用视频或图片等内容作为过渡以留住玩家。可参考本文提供的定制启动封面方案

3 包体大小限制

小游戏启动速度主要影响之一就是包体资源大小,为获得更好的游戏体验,需要对资源本身做一些的限制和优化,详见包体限制及优化

更多信息请阅读:

4 资源按需加载

相比常规小游戏,unity游戏包体较大,无法满足平台包体限制(目前上架审核会限制4M大小)。可参考资源按需加载,优势如下:

  • 首包小,满足平台对于包体限制的要求
  • 加载过程可以自定义游戏画面,提升下载包体过程中的游戏体验

更多信息请阅读:

5 优化Unity游戏IndexedDB的适配逻辑

Unity游戏自有的API 如 PlayerPrefs的使用在导出WebGl时,会存储在浏览器的IndexedDB中,在小游戏环境中并无此功能,之前的脚手架版本(cli1.5.2-alpha.0及以下)适配的逻辑过于消耗性能,新版脚手架及C# SDK解决了此适配场景,C# SDK提供了一套PlayerPrefs实现,可无需修改代码进行适配 。

6 性能调优