关于Spine占用内存问题

论坛各位大神,目前我们的游戏使用的是Spine的动画文件,按照需求,场景中会出现Reload 10个Spine文件,很容易使得内存超出而崩溃。

我们自己测试过,一个Spine的PNG图片文件大概是2.4MB的文件大小,建了一个空的项目进行测试,占用内存大概是116MB。
按这个测试例子来计算,项目的内存占用会保持在1.4G左右,导致大部分的旧款手机机型都会崩溃。

项目使用的是1.52版本的Creator,各位大神请问有没有优化的方向?可以把10个Spine控制到500MB左右的内存占用?

在此谢过了!!!

空项目,什么都不放也得有70-90M了,内存大小看图片尺寸不看文件大小
10241024的图片大概占用
1024
102442(cocos对合图会多占用一份内存)=8M
然后Spine对象自身产生的临时动画占用的内存就不好计算了,里面包含了变量还有对象之类的

那么若果把导出图变为512*512的话,但是数量增加,会不会好一些??

按理说,骨骼动画不会占这么大内存的,你一张图尺寸有多大?
一般来说一个动画生成一张合图,用完了就销毁,10个动画正常情况下内存占用应该170M-250M左右就够了。
之前做的一个游戏,用的骨骼动画,还有序列动画,同屏出现的差不多有50个左右,运行起来也就是280M左右。你这个1.4G有点夸张了

这个是角色用的

这个是特效用的

8个20482048的图,按照刚才你给我的公式就是2048204842=32M*8张=256MB

是这样的计算流程么?

1赞

目前正在考虑将角色的质量降低一半的导出质量,已保护内存

对的,是这么计算,降低质量并不会降低内存,缩小尺寸才能减小内存占用,你可以导出一半的尺寸,然后代码控制放大一倍

1赞