2017-02-21 43 views
-1

我有一個有很多菜單的遊戲。菜單有自己的腳本,我不想停止,因爲用戶看不到菜單。不可見用戶界面的統一性能流失

這就是爲什麼我現在只是將畫布翻譯出屏幕,所以用戶看不到他們,腳本可以繼續做他們的事情。

任何人都可以說一些關於不可見UI的性能流失嗎?假設有200個標籤,50個圖像和50個按鈕活動但不在屏幕上,或者立即全部清除,並且基本上沒有明顯的性能,這會花費多少成本?

在這種情況下,我也很好奇,如果可以在同一個畫布上有多個全屏菜單,或者將每個菜單設置爲自己的畫布會更好嗎?如果不可見的UI在不可見的情況下耗盡了大量性能,我會執行後一個選項來停用畫布,但保持腳本運行。這是否會走?

+0

僅僅因爲它在屏幕外並不意味着它的更新函數沒有被調用。你可能幾乎沒有保存。當然,您不必在屏幕上繪圖,但仍需將其存儲在內存中,並在那裏調用主動功能。 –

回答

0

我可以確認,停用UI元素後會有巨大的性能提升,這些都未顯示。爲了讓腳本保持活動狀態,可以編寫一個小函數,檢查GameObject上是否有任何即將停用的腳本。

0

表現真的很差。即使渲染操作只要處於活動狀態就被調用,無論遠離攝像機如何隱藏都無關緊要。

最好只有一個畫布,而不是很多。

+0

現在你基本上說過,有多個畫布是不好的,但是你也暗示只有一個畫布是不好的,因爲如果有很多東西會被渲染,即使相機是不顯示它們。 – Tavados

+0

你可以激活遊戲對象。非活動的遊戲對象不會影響你的表現。 –

+0

「這些菜單有自己的腳本,我不想停止,因爲用戶看不到菜單。」 – Tavados