Unity图集打包冗余造成内存暴涨的问题

问题描述

使用Unity Sprite2D打包Sprite Atlas,不勾选Include in Build,运行中通过Latebind加载。分析内存发现,所有Sprite2D散图都加载进入了内存,造成严重的内存浪费。

解决方法

Scriptable build pipeline有bug

只要用了sbp,图集打包后总是存在冗余,尝试了各种方式都无法消除。会把散图也全部加载到内存,产生严重内存问题。

只能切换到buildin打包管线。

SpriteRenderer用法问题

项目中使用的SpriteRenderer做了自定义shader,因此美术以此为基础做了一套材质球,最后证明这完全是多此一举,造成了错误的贴图引用引发内存问题。

自定义材质上的贴图选项不要勾选贴图,勾选以后SpriteRenderer引用Sprite2D的同时,又引用到散图的Texture。解决方法:自定义材质上不要勾选任何贴图,在SpriteRenderer中选择正确的Sprite2D即可。

于是制作工具把所有错误的SpriteRenderer都更换为一个自定义材质就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值