耗时来源

UGUI显隐优化
GameObject的Active/Deative本身耗时不多,主要是内部组件OnEnable/OnDisable的耗时

替代方案性能

  1. 移出屏幕
  2. 修改layer,cull不渲染(如果同时也要屏蔽点击事件)
1200个简单Canvas的性能测试

UGUI显隐优化

  • Canvas中有Image、Text、ScrollRect、Button等常见组件
  • EventUpdate事件是鼠标按在界面上时的耗时
  • CPU耗时中ScrollRect.LateUpdate占用8ms,不同条件没有显著变化
  1. CPU耗时:Cull掉后最少,不Cull时在屏幕外耗时较少
  2. GPU耗时:基本同CPU,Cull掉后毫无消耗
  3. EventUpdate耗时:在屏幕外时耗时较少,其他情况比较难以解释
不知道多少个简单Image的性能测试

UGUI显隐优化
第2行第3列数据错了,是110ms

  1. GPU耗时:在屏幕外时几乎不耗时,Cull不Cull无所谓
  2. EventUpdate耗时:在屏幕外时耗时较少,Cull不Cull无所谓

具体方案

项目中每个界面是一个Canvas,采取移出屏幕+Cull Layer双方案
界面内元素只采取移出屏幕方案
localPosition和layer修改瞬间耗时未测试,但似乎很少

参考博文

UGUI优化: 鱼和熊掌难以兼得

相关文章:

  • 2022-12-23
  • 2021-08-27
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2021-10-11
猜你喜欢
  • 2021-07-08
  • 2021-09-18
  • 2021-08-10
  • 2021-04-20
  • 2022-01-18
相关资源
相似解决方案