[zz]unity 性能优化
查阅了网络上部分帖子和Unity文档,感觉这篇帖子讲述的比较完整和细致:
http://blog.sina.com.cn/s/blog_44d4a64b0102vt3w.html
http://gamerboom.com/archives/76214
下面首先对该帖子做下评注,然后再补充实际项目中发现的优化tricks.
原文编号 2: 项目中在安卓版中 透明贴图使用 如下方式:http://www.xiaobao1993.com/853.html
原文编号10:项目中的drawcall数目在70-140之间浮动。战斗中一个界面占据20,角色和怪物场景占据50,特效引起的dc浮动较大(本项目中主要是被击特效,因为会与怪物数量相乘)。
其他优化tricks,主要针对script
1 迭代器替换foreach
2 dictionary中尽量使用Int来作为Key,而不是enum 等
3 tostring() 会新分配,可以使用stringbuild 或自己 写一个扩展类
4 界面的active也会造成很多浪费,可以通过修改层级,或者移到看不见的地方来实现“隐藏”
5 Update中不用getcomponent 在start的时候可以缓存下。
6 使用pool来缓存游戏对象,例如角色,特效 音效 等
7 使用cache来缓存游戏中信息,例如骨骼绑定位置,这里注意cache的信息会改变,那时需要刷新
8 避免类型的装箱拆箱操作
前几天出于兴趣,看了下sql的优化方法。其实抽象出来都是从如下几个方面来优化: 设计(数据库设计,模型设计),限制(连接数,灯光数),避免冗余(存储过程,缓存),提高硬件性能。