首页 > 解决方案 > Unity 3D 中的单个画布和多个面板与多个画布

问题描述

我正在使用 Unity 5 为 Hololens 开发全息应用程序,我需要创建一些 UI,那么哪种近似值会提供更好的性能?

具有多个面板或多个画布的单个画布?

我需要具有不同位置的多个 UI 元素(文本标签、按钮等),特别是具有不同 Z 轴值。

标签: user-interfaceunity3dcanvas

解决方案


Unity 人员专门针对过去的一些 Unite 进行了关于 UI 画布的性能讨论。您可以在 Unity 的 YouTube 频道上轻松找到它(编辑:这里是 - Unite Europe 2017 - Squeezing Unity:提高性能的技巧)。基本上,他们在具有更复杂 UI 的项目中看到了性能问题的趋势。问题源于这样一个事实,即当修改单个 UI 元素时,它会将其整个画布层次结构标记为脏。他们(Unity)强烈鼓励在自己的画布中分离不同的 ui 部分。尤其是每帧更新(或经常更新)的元素应该在它们单独的小画布中——比如健康栏、滚动库存等。当然,不要在另一端为每个元素使用一个画布,而要明智地使用不同的 UI 部分和动态 UI 元素。普通的游戏对象层次结构也有同样的问题,但与 UI 相比,重新计算整个层次结构的性能损失要小得多。


推荐阅读