主题
Skip to content









微信代码分包和高性能模式
分包的作用:
- 优化启动时间
- 对于ios来说可以减少内存使用,支持更多ios低端机上运行高性能模式
- 减少编译时间环节手机发烫的情况,提升用户体验
- 减少首包的大小(整个资源的1/3),加快启动的下载与编译时间,降低游戏前期的发烫情况。通过函数收集的方式 将 前期使用到的函数与资源 从代码包中拿出来作为首包。
- 例如想要保证玩家前期体验感好,分包前期多玩一下,但是无法保证后期也好
- 开启高性能模式,本质上是在 ios平台上 直接使用WebKit,跟多线程/协程都没啥关系。webkit是苹果提供的,有特权,wasm可以jit,可以减少代码编译的内存消耗,并不能优化游戏自身资源的内存占用。普通模式下,wasm只能解释执行。因此webkit比普通模式性能更优。对游戏帧率是会有提升,但是会有内存限制问题,性能较差些的手机更容易出现崩溃的情况
- 所以优先是游戏去优化性能,而非靠分包和高性能模式来提升游戏性能
分包流程概述:
- 点启用代码分包
- 输入当前项目版本描述
- 等待上传代码包
- 等待预处理
- 选择是否增量分包,然后下一步
- 等待第一次分包
- 进入正式分包阶段,先android收集,然后继续下一步
- iOS收集,然后继续下一步,
- 选择生成profile或者release包,然后收集,这一步可以重复进行
插件安装流程(首次需要):
- 打开开发者工具的设置-拓展设置-编译器自定义拓展-安装wasmCodeSplit插件
- 点击如图所示按钮(安装后会显示该按钮,没有的话重启试试),点击启用代码分包按钮
- 新导出的游戏会提示输入版本描述方便识别版本,然后插件会自动进行首次分包
分包具体流程(方法一):
每个项目需要重新去申请开发者权限,按照飞书流程申请开发者权限
第一步:Android收集
此时点击预览按钮,对应手机微信扫描二维码,跑游戏流程就可以进行函数的收集
1、尽量覆盖所有场景
2,安卓收集时会对iOS进行预准备工作,在安卓收集完且iOS已经完成预处理了,才可以点击安卓收集中的我已收集好,继续下一步。
3,安卓预览完成后点击下一步再进行ios预览


第二步:iOS
安卓收集好后,点击下一步到这个界面(有些版本的工具会有有单独的iOS收集按钮,也正常的收集函数点击下一步即可)
第三步:可以选择再来一轮或者生成发布版本
1,安卓和ios收集完成之后,若点击生成Release版本,生成好后即可上传,若点击生成profile版本,则可再分一次包,一般分一次包即可达到效果。(如果有提示首保资源过大,可再分一次) 2,生成release完成后就可以上传了。
- 关闭分包:若想回退到未分包版本,点击关闭代码分包即可
- 增量分包:unity每一次导出的小游戏都需要重新分包,比较繁琐,所以支持增量分包,在2次导出时在之前的分包版本基础上进行增量分包。()

1. 需要注意的是:上次分包和下次分包可能会产生冲突,导致分包不成功或者卡住,此时可采取的措施是将minigame整个删除重新拉取最新的再进行分包。
2. 若上个版本的代码和这个版本没有任何改动,不用分包可直接上传。(若没有新上传,分包也会接着上次的,有新提交分包才会重新开始)
3. 分包流程未走完下次会接着之前的分包流程,如果想重新开始,清理全部+重新拉minigame
分包具体流程(方法二):
- 在方法一基础上所有流程都点下一步,直到这个界面:

点击生成profile版本上传体验版,再用有体验权限的微信号在小程序助手上的体验版进去跑包(先安卓设备再iOS设备,因为安卓函数收集会多一些,),可以多设备一起收集。趋于稳定后再生成一轮profile版分包,这个步骤可多执行几次,直到新增函数个数为0,则可以生成release版本上传体验版。(收集方式同方法一)
如果收集好上传后研发有些小改动,就可以使用增量分包,更新后打开代码分包,在这一步选择增量分包:(如果改动较大,需要重新分)

继续执行1,2步,后上传
收集过程中可以开GM,只要最后版本关闭就可以在分包界面直接上传
相比于方法一的优点:
1. 不用加开发者权限,有体验权限即可
2. 可以多设备同时收集,分包更加方便快捷,更节省时间
3. 分包后研发有小的修改,可以直接使用增量分包,不用直接重新分
4. 本地的小修改不用重新分包,分包界面直接上传即可 5,更新版本如果没有大改动即可使用增量分包,不用重新分包
缺点:
收集新增函数数量增长的非常缓慢,比方式一慢
如果iOS机型出现OOM(内存溢出)或者运行性能问题,可以考虑联系发布开启IOS高性能模式,
请注意开高性能模式就要开代码分包,
但是开代码分包不一定要就开高性能模式(因为高性能模式虽然能够提高帧率,但是会降低iOS内存上限,容易导致闪退,崩溃等异常情况,且在低性能的设备上可能会更加卡顿)
判断是否开启了高性能模式:打开开发调试,仅IOS有变化(左上调试面板为开启)
发布配置生效后可自行操作打开或关闭高性能模式(true开/false关)


- 分包时间大概在1到2个小时左右,为节省时间建议大家先只上传进行测试,测试没有问题后,传正式版本进行分包操作
- 分包需要对安卓和iOS进行函数收集,收集标准是,过完游戏中的功能场景,直到函数基本趋于稳定即可进行下一步,(可以点出在线GM协助来解锁新模块收集函数)
- 官方建议函数收集需要收集到基础包的30%,但是我们的游戏最多收集到25%。这个没有一个很具体的标准,尽量保证20%左右,根据自己游戏是否代码收集已经稳定来决定是否结束收集。(比例**=(首包即安卓收集函数个数+新增即iOS收集函数个数)/**原始包函数总个数)

- 函数收集时可以多使用几个设备来进行收集,建议2个以上的设备,收集的会更加全面些 安卓收集的足够全面,iOS的函数可能不会超过100个,这并不意味着可以跳过,尽量还是过完所有场景。
- 收集步骤不能跳过,扫码进不去也不能直接跳过(注意查看是否点到了真机调试)。
- 分包不到位,会造成较为严重的负面影响或崩溃。
- 高性能模式对iOS14系统以下的设备无优化效果。后台可以设置固定版本以下不进入高性能模式。
- 开启高性能模式不分包会影响加载速度和一些潜在问题,且有内存限制,达到一定限制则会导致游戏崩溃(游戏闪退出现你的内存已达上限的弹窗就是这个原因导致的,打印也会提示:‘开启高性能模式不分包会严重影响性能’)。

- 如果遇到分包分到一半需要修改,修改后打开还是接着上次的步骤,可以尝试clean up一下工程文件
- 如果是新版本功能没有改动研发提交后分包还是之前的步骤以此循环,原因是代码基本没有修改,不用二次分包可直接上传
- 跑云测完成之后建议再生成一次分包,因为云测会产生新的函数
- 上线后如果收到提示分包函数收集不充分则说明:分包不到位,函数收集不到位,影响性能了需要重新分包发布
- 如果线上收到了新增函数过多:这个提示是因为使用的第二种分包方式,发布上线后,所有体验版玩家玩,也会产生新的函数,包括云测的时候也会产生新的函数,可以去分包界面查看,不放心可以再重新生成一次分包上传发布
点我快速对接


