当前位置: 首页 > >

Unity3D OutOfMemory 内存溢出 软件崩溃 一个解决案例

发布时间:

我在做的是一个赛车游戏,里边元素比较多,有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做的非常细致,总计的点数、面数其实已经非常庞大了,但是对于一款简单的赛车游戏来说,实在是太多余,其实赛车简单的外壳和轮胎就足够了。





友情链接: