UGUI 优化

发布时间 2023-09-26 14:37:58作者: 滑华

UI更新

  • Canvas.SendWillRenderCanvases -- UI更新耗时
    1. color 颜色
    2. normal 法线
    3. position 顶点位置 包括ui size Anchors Pivot (缩放 平移 旋转不影响)
    4. tangent 切线
    5. uv0 网格第一个纹理坐标
    6. uv1
    7. .....
  • 替换图片 文本
  • 优化
    减少图片切换 减少颜色变化 顶点位置改动

网格重建

  • EmitWorldScreenSpaceCameraGeometry
  • 子线程压力过大 或者 合并网格过于复杂 会在主线程产生等待
  • UGUI中同一个Canvas下的UI元素会合并到同一个Mesh中(SubMesh合批) UI更新也会引起网格重建

SyncTransfrom

  • 调用Setactive函数会导致同一Canvas下的同层级UI产生SyncTransfrom
  • 与他父节点同一层级的其他UI元素也发生
  • 优化
  1. 需要频繁显隐的UI与静止UI放在两个不同的Canvas下
  2. UI元素的Scale在0和1之间切换 透明度 0-1

EventSystem.Update

  • 关闭不参与事件响应的射线检测