cocos creator打包微信小游戏性能优化小记

背景:

        公司之前的拳头产品,已经上线了好几年了。2年前优化过一波(引擎版本从2.1.0升级到2.4.2,现在已经是2.4.9了),随着项目迭代资源越来越多加载越来越慢内存占用越来越大,需要重新进行优化(主要是微信渠道);

过程:

        1.        加载优化:

        bundle压缩类型:推荐使用zip;

        使用zip压缩类型后单个bundle在打包后就一个zip一个json,不管是上传bundle至cdn还是运行时下载bundle到设备,网络请求的吞吐量都会有明显的优势;

        其次是配合下文的纹理压缩做内存优化;纹理压缩后资源文件大小会成倍增加,若不压缩包体过于庞大,即使能上传发布对玩家而言也不友好;

        结构整理:之前的分包只是简单根据功能模块的概念进行划分,好处是比较直观,实现起来也很简单。但随着资源和玩法的不断丰富可能存在冗余的问题:比如功能a有精美繁复的界面和玩法导致其bundle很大,但在主页只需要功能a的一个入口按钮。如果将入口a放在bundle a中,则在主页显示入口a会先将整个bundle a下载并解压。个人是单独创立一个bundle 用于专门存在各类主页细碎的icon、banner等资源,而完整的bundle a则在游戏中玩家点击a时再做加载;

       2.        内存优化:

       由于厂商差异,小游戏在android机一般不会遇到内存导致性能问题,其在andorid机上是独立的进程;而ios设备上,小游戏和微信是同一个进程,稍微重度的项目很容易遇到内存问题,比如js在后台不停gc导致的游戏卡顿,或者直接内存不足闪退。

        使用纹理压缩可以明显的减轻内存压力,(配合纹理压缩ios还需要开启高性能模式。setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本_楚游香的博客-CSDN博客

使用大佬的脚本批量设置除图集外资源后,配合zip方式打包。最终包体资源由23M变成54M,但运行时内存占用会显著降低。修改后基本ip8可以50帧以上稳定运行。代价只是首屏加载变慢一俩秒。


2023.07.25号更新

真机对比
  1. xs max( 但是这个手机有点妖,帧率和优化前有来有回,目前原因未知;对比笔者自己的xr,帧率稳定在55帧以上);对比图可知cpu和内存占用均有50%以上提升。更多机型后续测试同学测试ing

优化前:

优化后:


2023.07.28更新

红框处是实验组,机型一一对应(游戏内锁帧59);

xr内存和cpu优化不大,但是帧数上来了;

xs max内存和cpu优化50%以上,帧率反而下去了;

12内存和cpu 优化50以上,帧率稳定拉满

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值