在 Unity UGUI 中,Canvas 是整个 UI 系统的核心。很多 UI 性能问题,例如界面频繁卡顿、批次突然增加、Canvas.BuildBatch 占用 CPU、UI 动画导致大量 CPU 消耗,本质上都可能与 Canvas 的重建机制有关。很多开发者知道修改 UI 属性会触发 Canvas 重建,但真正的问题是:什么情况下会重建?重建到底重建了什么?为什么修改一个 Image 的颜色,也可能影响整个 Canvas?理解 Canvas 重建机制,是深入理解 UGUI 性能优化的关键。Canvas 为什么需要重建UGUI 并不是每一帧都重新计算所有 UI。如果一个界面已经完成布局、顶点生成和批处理,那么下一帧没有任何变化时,Unity 没有必要重新计算这些内容。例如一个简单的 UI:Canvas ├── Background ├── Icon ├── Title └── Button第一次显示时,Unity 需要完成一系列工作:UI组件发生变化 ↓ 标记需要重建 ↓ Canvas Rebuild ↓ 布局计
