翻譯自https://unity3d.com/cn/learn/tutorials/topics/best-practices/fill-rate-canvases-and-input?playlist=30089#anchor-fn-2
這一章討論一下在構(gòu)建Unity UI時(shí)容易碰到的問(wèn)題。
解決填充率問(wèn)題
有兩種方法可以減輕GPU片段管線的壓力:
* 減少片段shader的復(fù)雜度
- 更多詳細(xì)信息,請(qǐng)看“UI Shader和低端設(shè)備”部分。
* 減少必須被采樣的像素點(diǎn)的數(shù)量。
由于UI shader 通常是標(biāo)準(zhǔn)化的,最常見(jiàn)的問(wèn)題就是填充率使用過(guò)度問(wèn)題。這通常是因?yàn)閁I元素的大量重疊,和許多UI元素占據(jù)屏幕的重要部分。這兩個(gè)問(wèn)題可能會(huì)導(dǎo)致非常嚴(yán)重的過(guò)度繪制(overdraw)。
為了減輕填充率的段度使用,減少overdraw,可以考慮下面的一些可能的補(bǔ)救措施。
消除看不見(jiàn)的UI
重構(gòu)UI元素改動(dòng)做少的方法就是將玩家看不到的元素disable掉。最常見(jiàn)的適合這種方式的情況是打開(kāi)了一個(gè)背景不透明的全屏UI。這種情況下,在全屏UI下的所有元素都應(yīng)該被disable。
最簡(jiǎn)單的方式是disable根GameObjec或者包含不可見(jiàn)元素的GameObject。有關(guān)其他的決絕方案,請(qǐng)參閱Disabling Canvas Renderers部分。