ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Unity为什么会产生Canvas.BuildBatch?

Unity为什么会产生Canvas.BuildBatch? 在使用 Unity UGUI 开发游戏时,如果打开 Profiler 查看 CPU 性能,经常会看到一个比较特殊的耗时:Canvas.BuildBatch尤其是在 UI 数量较多、界面频繁变化或者存在大量动态 UI 的项目中,Canvas.BuildBatch 可能会突然占用较高的 CPU 时间。很多开发者第一次看到这个名字,会把它理解成“Canvas 在重新绘制 UI”。实际上,Canvas.BuildBatch 并不是简单意义上的 UI 绘制,而是 Unity 在 Canvas 层面对 UI 几何数据进行重新组织和批处理的过程。理解 Canvas.BuildBatch,需要先搞清楚 UGUI 的一个核心问题:为什么修改一个 UI 元素,会导致 Canvas 重新执行 BuildBatch?Canvas.BuildBatch 到底是什么UGUI 最终需要把 Image、Text、RawImage、Mask、ScrollView 等 UI 元素转换成可以交给 GPU 绘制的几何数据。一个简单的 Image,最终通常会形成一个矩形网格:UI Im
返回列表