3.NGUI Draw Call(渲染調用)

在Unity中,每次引擎準備數據並通知GPU的過程稱爲一次Draw Call。Draw Call值越低,會獲得更好的渲染性能。工具

 

 

NGUI 查看Draw工具(NGUI-OPEN-Draw Call Tool)性能

 

 

NGUI 方面的Draw Call 優化:優化

(1)     打包圖集對象

1、每一個材質/紋理的渲染必定是會產生DrawCall的,這個DrawCall只能經過打包圖集來進行優化。blog

2、從功能角度進行劃分,例如UI能夠劃分爲公共部分,以及每一個具體的界面,功能上,顯示上密切相關的圖片打包到一塊兒 圖片

 

(2)渲染順序it

1、  U3D的渲染是有順序的,NGUI的渲染順序是由咱們控制的,控制好NGUI的渲染順序,你才能控制好DrawCall。打包

2、  一個DrawCall,表示U3D使用這個材質/紋理,來進行一次渲染,那麼此次渲染假設有3個對象,那麼當3個對象都使用這一個材質/紋理的時候,就會產生一次DrawCall。假設3個對象使用不一樣的材質/紋理,那麼無疑會產生3個DrawCall。渲染

 

例子:im

A,B使用材質1,C使用材質2,這時候會有幾個Draw Call?

 

有兩種狀況,3Draw Call

A:材質1

B:材質2

C:材質1

 

第二種狀況,2DrawCall

A:材質1

C:材質1

B:材質2

 

 

渲染順序:Unity默認會按照控件的Depth來渲染。從後往前渲染,當使用相同材質的控件會合併爲一個Draw Call。若是和前一個材質不相同則會從新產生一個Draw Call。因此會有上面兩種不一樣的結果,若是同一個界面有更多的空間存在時,這個問題會更明顯。在UI製做的時候就須要特別注意這一點。

相關文章
相關標籤/搜索