我在做的是一个赛车游戏,里边元素比较多,有1000*1000的Terrain,有公路,有桥梁,有城市建筑,树木,花草。
在最开始只有Terrain和赛车的时候没有出现过内存溢出的问题,
我是用的赛车,就是标准资源包中的Car,
后面随着内容的丰富开始经常出现内存溢出,
经过检测,我发现,每次点击Car对象时,都高频率出现内存溢出,然后生成发布包时,加载场景时都很容易出现。于是我删除了Car,问题就没有再出现了。然后我换用了一些面数顶点数少的车模型来解决问题。
现在我来分析一下,为什么官方Car容易出现问题。
官方Car模型的数据如下:
Car
---SkyCarBody 34209 verts || 59706 tris uv
---SkyCarComponents 43101 verts || 64188 tris || 2 submeshes uv
---****** 3k verts || 4k tris
---****** 3k verts || 4k tris
---****** 3k verts || 4k tris
---****** 3k verts || 4k tris
---****** 3k verts || 4k tris
---****** 3k verts || 4k tris
... ...
Total: 100k verts || 130k tris
官方Car做的非常细致,总计的点数、面数其实已经非常庞大了,但是对于一款简单的赛车游戏来说,实在是太多余,其实赛车简单的外壳和轮胎就足够了。