一、内存:
資源優化:
紋理:Read/Write、
对于UI和一些不需要远近处理的纹理关闭mipmap
纹理的分辨力率尽量小,够用就好的原则
尽量采用硬件支持格式,安卓(ETC1、ETC2),ios(PVRTC)
.Ios平台使用PVRT压缩纹理。Adroid平台使用ETC1格式压缩。均可以减至1/4的内存大小。优化非常明显。
目前主流的Android机型基本都支持ETC1格式压缩。但ETC1只能支持非Alpha通道的图片压缩。所以一般把Alpha通道图分离出来,绘制到GPU显存时,a值从Alpha图里获取,无Alpha通道的图就可以使用ETC1压缩。
而ETC2以上的格式压缩虽然支持含Alpha通道的图片,但是支持的机型还比较少。目前不推荐使用。
詳情見:http://blog.csdn.net/u011926026/article/details/54003199
網格:頂點、三角麵片數量、頂點屬性(pos、tangent、color、uv)少,頂點屬性不同的,不要合并批次處理,關閉不必要的Read/Write功能关闭。既可以提升加载效率,又可以大幅度降低内存占用
動畫:幀壓縮
二、渲染
uv動畫代替粒子
LOD
Oculos Culling
Light Mapping ,Light Probs
三、物理
mesh colider
盡量使用代碼模擬物理,少使用真實物理
四、代碼層面
對象池
update中避免複雜計算,確實需要可以隔N幀計算一次。避免findwithTag、getcomponent、comparewithtag
避免使用字符串相加,會頻繁GC,使用stringbulder
總覽:
空間換時間的優化:LOD、批處理