收藏
回答

线上项目Unity转微信小游戏,优化内存问题

使用引擎:团结引擎

目前已优化处理

纹理优化:

  1.maxsize:大多数纹理根据自身尺寸设置size,少部分1024

  2.压缩格式:大部分ASTC8*8,少部分ASTC12*12

  3.所有纹理关闭mipmaps,少数十几张图开read/write

  4.使用spriteAtlas系统打图集

音效:

    1.加载方式使用Compressed Included Memory

    2.勾选Force To Mono,强制使用单声道音频

    3.将Quality调整为1

打包设置:

   已按照团结引擎文档设置,包括不限于:将Managed strip level调整到high、ProjcteSettings -> Quality页面,取消勾选WebGL平台未使用的Quality Level


项目详情

AssetBunle总资源:500M左右

热更新方案:tolua,且重度使用lua

webgl.wasm.code大小:5M左右

webgl.data大小:5M左右

AssetBunle加载:UnityWebRequest+AssetBundle、异步loadAsset

AssetBunle卸载:自维护计数器,倒计时卸载,已验证无卸载问题

实例化方式:针对场景使用分帧实例化,每帧大概50个

微信导出设置:UnityHeap预留内存 768M(尝试过496M,但是ipone11运行几分钟内存不足,强制退出)


分析情况

使用UnityProfiler连微信开发工具查看内存,并无发现内存泄漏或者峰值

使用内部几台安卓机和ipone11无异常


问题

iphoneXR,内存为3G的手机,刚进去到场景就提示内存不足,强制退出,使用UnityProfiler连微信开发工具无发现异常

回答关注问题邀请回答
收藏
登录 后发表内容