您的位置:首页 > 移动开发 > Unity3D

Unity-性能优化

2016-11-21 10:32 246 查看

性能需求

渲染批次(Batches)在200以内

三角形(Tris)在100k以内

UGUI优化方向

✨同一纹理(且不和其他纹理有遮盖)[每种字体是一种单独纹理]、同一Canvas才会合批

-合批是以Canvas为单位的,同一个Canvas内部尽量多合批

-控制Canvas内元素数量,数量太多导致重新合批消耗时间大

-动静分离拆分Canvas,动态元素引起的重新合批不影响静态元素

-尽量不要使用Text控件“Best Fit”属性

-ScrollView控件,不显示的控件也会draw

Image的Source Image未None时,相当于使用一个单独的贴图(会增加Draw Call)

Mask控件,会增加Draw Call

关于SpritePacker

基于以上原则应尽可能在同一场景(Canvas)使用相同的纹理图册,SpritePacker的默认打包方式会根据图片的类型来打包,RGB和RGBA会分开打包为两个图册,如果需要将一些不同类型的图片打包在一起,可以修改打包代码。

SpritePacker官方文档

插入以下代码

///if rgb 转化为rgba
if (desiredFormat == TextureFormat.PVRTC_RGB2) {
desiredFormat = TextureFormat.PVRTC_RGBA2;
}
if (desiredFormat == TextureFormat.PVRTC_RGB4) {
desiredFormat = TextureFormat.PVRTC_RGBA4;
}
if (desiredFormat == TextureFormat.RGB24) {
desiredFormat = TextureFormat.RGBA32;
}
///
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: