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