2017-02-21 61 views
-1

我有一个有很多菜单的游戏。菜单有自己的脚本,我不想停止,因为用户看不到菜单。不可见用户界面的统一性能流失

这就是为什么我现在只是将画布翻译出屏幕,所以用户看不到他们,脚本可以继续做他们的事情。

任何人都可以说一些关于不可见UI的性能流失吗?假设有200个标签,50个图像和50个按钮活动但不在屏幕上,或者立即全部清除,并且基本上没有明显的性能,这会花费多少成本?

在这种情况下,我也很好奇,如果可以在同一个画布上有多个全屏菜单,或者将每个菜单设置为自己的画布会更好吗?如果不可见的UI在不可见的情况下耗尽了大量性能,我会执行后一个选项来停用画布,但保持脚本运行。这是否会走?

+0

仅仅因为它在屏幕外并不意味着它的更新函数没有被调用。你可能几乎没有保存。当然,您不必在屏幕上绘图,但仍需将其存储在内存中,并在那里调用主动功能。 –

回答

0

我可以确认,停用UI元素后会有巨大的性能提升,这些都未显示。为了让脚本保持活动状态,可以编写一个小函数,检查GameObject上是否有任何即将停用的脚本。

0

表现真的很差。即使渲染操作只要处于活动状态就被调用,无论远离摄像机如何隐藏都无关紧要。

最好只有一个画布,而不是很多。

+0

现在你基本上说过,有多个画布是不好的,但是你也暗示只有一个画布是不好的,因为如果有很多东西会被渲染,即使相机是不显示它们。 – Tavados

+0

你可以激活游戏对象。非活动的游戏对象不会影响你的表现。 –

+0

“这些菜单有自己的脚本,我不想停止,因为用户看不到菜单。” – Tavados