Unity性能优化之UGUI

 

优化方向

  1. DrawCall
  2. 网格重建
  3. OverDraw
  4. 事件检查

 

DrawCall

  • 打包图集,注意同一个图集中的图片格式不一样可能会被拆成不同的子图集。
  • 防止不同图集穿插和同个图集重叠,否则会限制DrawCall Batching。
  • 隐藏UI控件可以使用Scale = 0或Alpha Group = 0,不要用alpha = 0,透明效果依然有渲染开销。
  • UI的Position.z 不等于0会限制DrawCall Batching。
  • Alpha = 0或Null Sprite依然会进行渲染。
  • 少用Mask,增大模板测试开销。

 

网格重建

Canvas.BuildBatch

  • 动静分离,拆分Canvas。将频繁变动的UI界面与较少变化的UI界面拆分在不同的Canvas上。
  • 设置移动阈值和更新频率,防止界面频繁更新。比如Position的变化幅度大于设定的阈值时UI才更新。
  • 避免敏感操作,比如Position赋值时检测新值是否等于旧值,是的话就无需赋值。

 

OverDraw

  • 尽量减少界面重叠。
  • 图片可以设置成Sliced,而且FillCenter不要勾选。
  • Alpha = 0依然会出现OverDraw。

 

事件检查

  • Raycast Target尽量不要勾选,因为事件响应机制会遍历UI控件的事件情况,不勾选可以提高遍历的效率。

 

 

 

参考链接:

https://blog.csdn.net/qq_21397217/category_6902472.html

https://blog.csdn.net/qq_21397217/article/details/82458304

https://blog.csdn.net/qq_21397217/article/details/82347840

https://blog.csdn.net/greedylin/article/details/80767628

https://blog.csdn.net/qq_33337811/article/details/75208787

 

视频:

https://blog.uwa4d.com/archives/1875.html

https://blog.uwa4d.com/archives/video_UI.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值