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

来源:互联网 发布:mysql 参考手册 中文 编辑:程序博客网 时间:2024/06/18 18:00

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


0 0
原创粉丝点击