1. 程式人生 > >學習筆記——Unity3D UGUI優化方法總結

學習筆記——Unity3D UGUI優化方法總結

客戶端做任何的效能優化首先想到的都是規範美術資源,前期不給美術資源定製一定的規範,後期做優化效能會非常的被動。對於 UI 資源的規範,主要是考慮的記憶體優化。

1. UI 圖集大小控制在1024*1024以內(記憶體優化);

2.同一個介面出現的 UI 資源儘量放到一個圖集,重複利用的公用資源放common(DrawCall 優化);

3.能用九宮格的儘量用九宮格來減小原圖大小(記憶體優化);

4.美術給的圖長寬儘量為2的冪次方,如果不是就稍微多切一點,配合ECT1和PVRTC4 格式的壓縮(記憶體優化);

5.不透明圖片儲存為JPG格式,透明圖片儲存為PNG格式;

6.美術給過來的 UI 原圖 size 儘量小,對於一些全屏的原畫圖,原畫大小是 1136*640,讓美術按照比例高度縮小到 500,這樣一張 1024*1024 的圖集就可以放兩張原圖了,提升圖集利用率。對於一些600*400 類似大小的原圖,就儘量按比例把最長邊壓小到 500,這樣出來的圖集就是 512*512 而不是 1024*1024(記憶體優化);

7.對於特別長的 UI 原圖,例如 1000*100,如果由於加入這個長條的原圖導致圖集大小變大而且利用率很低的話,要把 1000*100 的原圖拆分成兩張圖500*100,在製作介面的時候用兩個 Image 拼接即可,這樣可以把 1024 的圖集縮小到 512(記憶體優化);   

8.圖集利用率低於 1/3 的時候,要考慮和其他同一個 size 的圖集合並以提升利用率。合併的原則是不改變任何一個圖集的大小,這樣即可完全省掉一張圖集(記憶體優化、安裝包量優化);

9.儘量複用 UI 資源,減少不必要的原圖,例如一個卡牌分了五種品質原畫底圖,白藍黃綠紫,就不要使用五張大底圖了,讓美術同事畫一個灰色原圖,Image 在使用的時候直接按需求修改頂點色即可(記憶體優化);

10.關閉 Mipmap,壓縮貼圖與圖集,參考上篇文章(記憶體優化)

11.文字(Text)元件對移動裝置的效能要求比較高,不需要Rich Text和Best Fit功能的文字元件要取消勾選;

Text元件詳解:https://blog.csdn.net/qq_26999509/article/details/53391808

13.如果取消FillCenter的勾選不影響圖片的表現,就取消勾選,對於一些透明的邊框背景圖,其中間區域理論上是不必去繪製的,雖然設定成了透明,不被人們看見,但計算機還是進行了繪製,因此應該將這一部分效能消耗規避掉;

14.OverDraw指的就是一個畫素被繪製了多次,當UI出現重疊時,會影響空間拓撲關係,從而影響了Unity對DrawCall的優化,,儘可能在不影響功能和美觀的情況下減少UI的層級。 

15.持續更新中