Unity UI模块优化(3.优化更新开销)

本文介绍了几种优化用户界面(UI)性能的方法,包括动静分离、降低更新频率和避免敏感操作等。动静分离指将动态和静态元素分开处理;降低更新频率如设定移动阈值和更新间隔;避免敏感操作如优化元素的显示和位置赋值。

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

参考链接:https://blog.uwa4d.com/archives/1875.html,详情请点击链接查看UWA的视频解析,尊重UWA版权。本文为个人看视频学习整理笔记,同视频有删减。

降低界面的更新开销

1.动静分离
https://blog.uwa4d.com/archives/video_UI.html

NGUI:细分UIPanel(动态元素和静态元素分离Panel,原理可见前文)

UGUI:细分Canvas


2.降低更新频率


案例:小地图
- 设定移动阈值(如怪物移动很小一点位置后,小地图上看不到变化,那可以设置移动阈值,一旦高于多少之后再设置位置,这可以一定概率上降低小地图更新频率)
- 设定更新频率(手动设置更新频率,小地图玩家不会一直看,所以可以30帧或者1秒钟更新一次,可降低消耗)


3.避免“敏感”操作

NGUI:
元素隐藏显示 -> FillAllDrawCalls

FillAllDrawCalls常见原因:

  • 添加/删除元素时,穿插了其他的UIDrawCall
  • 添加/删除的元素自成一个UIDrawCall

避免分式:

  • 尝试让插入的元素能够合入现有的UIDrawCall
  • 通过scale = 0或者alaph接近0来“隐藏”

UGUI:
元素的Position赋值->Canvas.BuildBatch


4.优化选项

NGUI:

  • Static(优化移动UIPanel时:UIPanel组件上的Static,当Panel下元素肯定不会变时勾上它,则移动Panel时,不会轮询消耗)
  • Visible(优化大量更新网格时)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值