user-interface - Unity 3D 中的单个画布和多个面板与多个画布
问题描述
我正在使用 Unity 5 为 Hololens 开发全息应用程序,我需要创建一些 UI,那么哪种近似值会提供更好的性能?
具有多个面板或多个画布的单个画布?
我需要具有不同位置的多个 UI 元素(文本标签、按钮等),特别是具有不同 Z 轴值。
解决方案
Unity 人员专门针对过去的一些 Unite 进行了关于 UI 画布的性能讨论。您可以在 Unity 的 YouTube 频道上轻松找到它(编辑:这里是 - Unite Europe 2017 - Squeezing Unity:提高性能的技巧)。基本上,他们在具有更复杂 UI 的项目中看到了性能问题的趋势。问题源于这样一个事实,即当修改单个 UI 元素时,它会将其整个画布层次结构标记为脏。他们(Unity)强烈鼓励在自己的画布中分离不同的 ui 部分。尤其是每帧更新(或经常更新)的元素应该在它们单独的小画布中——比如健康栏、滚动库存等。当然,不要在另一端为每个元素使用一个画布,而要明智地使用不同的 UI 部分和动态 UI 元素。普通的游戏对象层次结构也有同样的问题,但与 UI 相比,重新计算整个层次结构的性能损失要小得多。
推荐阅读
- python - 下载excel在浏览器中打开而不是直接下载?蟒蛇和烧瓶
- c# - 通过 SendRequestAsync 在正文中发送字符串
- html - 当我单击登录屏幕并返回主页时,我的 html 网站以正确的方式溢出
- r - 没有关于 x64 的 .o 文件的信息:关于使用 Rcpp 进行 R 包检查的注意事项
- python - django 使用 get_query 和搜索表单组合多个 ListView
- android - Android 上的 Chrome 从网站中查找颜色并将其用于操作栏。如何在使用 Java 的 Android 中使用 WebView 来实现这一点?
- oracle - 在执行程序以在 PL/SQL 中查找阶乘时出现 PLS-00103 错误
- haproxy - HA 代理重写和重定向
- docker - 有一种方法可以将 --cpus-cpuset 和 --cpuset-mems 传递给 docker swarm
- sql - athena 上的复杂 SQL 查询聚合和分组