unity性能优化小结
1.人物身上少挂载组件,用一个组件触发其他类执行会更好。
比如,创建人物移动的类,这个类不继承mono,然后用一个人物的组件(统管整个人物的组件)的update触发去触发人物移动的类的update。这样人物移动也可以做相应行为。这样可以减少人物挂载的组件。
2.少用projector的方式做投影显示。因为每个projector都会有个相机,这样会产生很多gc。无法合并dc。用面片(quad)然后用rvocontroller可以让他贴在地面上。
3.getcomponent,GetChild,find等获取性能千万不要在update或循环中做。会产生大量gc。
4.string不能直接用+来拼接,用string.format来实现
5.一些方法要经常获取就应该统一一个地方,一次性获取。减少后面获取的数量
6.字典的key不能用枚举,会有gc
7.当有没用到的widget时就应该要隐藏他,不然uipanel的update会消耗比较高。
8.所有设置能跟随qualitysettings走的话就跟随qualitysettings走,这样可以一并设置显示质量
9.不在主场景就把主场景的摄像机给关了,不在相关的页面则隐藏相关的页面
10.切换界面时并且是全屏界面时,不在当前界面的里面的uirect和camera组件都隐藏,因为可能有特效之类
11.显示不出来的shader中的pass(因为在ui上如果不写深度的话一些pass会在ui后面)就不要渲染,可以关闭该pass减少dc
12.rendertexture能用低质量的就用低质量的,比如用ARGB4444能显示正常的就不用全质量,能降采