UGUI优化总结

本文分享了Unity UI性能优化的10个实用技巧,包括动静分离、图集优化、删除废弃资源、RaycastTarget调整、图片压缩格式选择、减少元素重叠、mask使用优化、复杂UI拆分、Text和Canvas属性调整,以及UI隐藏方式改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.动静分离

  canvas下元素变化时,会使整个canvas重新绘制。因此将ui经常改变和不怎么改变的部分分离,分别使用不同的canvas。

 

2.图集优化

  不同界面的ui,可以打包成不同的图集,一些公用的资源也单独打成一个图集,减少batch。不同场景下的资源也打成不同图集,比如战斗场景和战斗外的场景,可以减少内存的开销。

 

3.删除已经废弃的东西

  随着项目推进,可能有些不再需要的ui节点,可以删除。

 

4.raycast target

  去掉不需要事件监测的ui的raycast。

 

5.图片的压缩格式

  Android上可以使用etc1的格式,由于不支持格式需要采用增加一张贴图,并且shader中用新贴图的一个rgb通道作为alpha值。

  fragment代码:

fixed4 frag (v2f i) : SV_Target 
{
    fixed4 color = tex2D(_MainTex, i.uv);
    fixed4 alphaColor = tex2D(_AlphaTex, i.uv);
    return fixed4(color.rgb,alphaColor.r);
}

 

6.减少重叠

  不同图集的ui元素重叠会导致drawcall的增加。

 

7.减少mask使用

  mask会使mask内和外的元素分成两个batch,可以使用RectMask2D。

 

8.复杂的ui可以拆成多个prefab

  拆成多个prefab可以避免一次加载导致卡顿。

 

9.减少使用Text的best fit和Canvas的pixel perfect

 

10.隐藏UI时修改根节点的canvas.enable,而不是用Setactive函数。

 

 

  

转载于:https://www.cnblogs.com/pj2933/p/10693467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值