代码(wasm)分包
背景
unity 导出小游戏项目后,代码是在一个 wasm 文件里,放在 unitySubPkg 目录下,vivo平台下其 wasm 对应的文件名为webgl.wasm.code.unityweb
;
一般小游戏的 wasm 大小都为 30M 左右,压缩后为 6M 左右;
启动阶段,小游戏需要先下载完 wasmcode 再编译,这里会占用较高的内存和时间;
因此我们提供了代码分包工具,将原来的 wasm 拆分为两个,一个用于启动加载(主包),另一个可以延迟加载(子包);
使得小游戏可以先加载较小的首包进入主场景,再异步加载剩下的分包。
作用
分包的作用在于:
- 优化启动时间;
- 减少内存使用;
- 减少编译时间,降低了游戏前期的发烫情况。
使用要求
以下为必要条件:
- unity引擎支持2019版本及以上;
- 安装vivo小游戏IDE最新版本,未安装请参考IDE指南进行安装;
- 小游戏引擎需要下载指定的引擎版本,分包成功后上线不受引擎版本影响;
- 代码(wasm)分包功能需要最新Unity插件分包版本。
导出小游戏
注意:"首包资源加载方式"必须
选择 -> "vivo分包" 方式导出小游戏,导出webgl.zip URL(?)
选项详情见vivo分包方式,否则IDE无法开启分包能力。
启用分包
使用IDE打开unity插件导出的webgl_vivo目录 点击开启分包图标
准备分包
此阶段将wasm文件上传到分包服务器,过程较为耗时,一般需要1~3分钟。
构建分包调试包
准备分包成功后,需要构建分包调试包。
构建成功后,使用真机的调试工具,扫码打开此调试包并运行游戏;
收集首包函数
成功进入游戏时,可发现真机上会实时展示当前首包函数个数;
注: 需要基于用户的环境(即线上环境),并覆盖尽可能多的场景效果最佳,当前首包函数个数/原始分包函数总个数
要求控制在 1/3到1/2
之间;
当显示的收集到首包函数个数相对稳定时;
点击“我已收集好,继续下一步”。 引擎会将收集到的首包函数上传至服务器,上传成功后则回到IDE中,点“获取分包”按钮完成最后一步的分包流程。
获取分包
分包成功后,出现以下两个文件,分别为wasm的主包和分包,即为分包完成。分包完成后,需要使用真机验证分包后的效果。