unity優化 — UI優化技巧


界面操作一般會觸發UI的開關或者隱藏顯示,必然會造成UI重建。

 

1.避免Active 和DeActive ,而采用控制Canvas組件的激活與關閉。

2.不需要參與點擊事件的Canvas取消激活Graphic Raycaster 腳本。

3.僅用於顯示的圖片或者文本禁止勾選Raycast Target 腳本。

4.持續性的UI動態效果特效,最好采用特效的方式制作,脫離UI系統。

5.動態合靜態的UI 要分開,分別掛上canvas。

6.適當對UI界面做緩存,保證再次打開更快。

7.界面初始化代碼部分加上Profiler監測,統計代碼效率。

8.將復雜的界面拆成多個界面,比如Tab頁點擊切換時再動態加載。

9.控制一幀內加載UI的數量,做好分幀加載策略。

 

對比全屏界面的UI界面。 可以關掉3D攝像機,沒有3D部分的渲染,效率必然會提升。

 

戰斗潔面奶是戰斗時玩家可操作的界面,也是游戲中最敏感的界面,只要一丁點的額卡東玩家就能明顯感知到,假設游戲戰斗保持45FPS,那么留給每一幀的時間只有22ms,留給UI的只會更少。

1、通過Profiler查看UI的渲染耗時,到底是卡在GPU還是渲染上。

2、左邊接受任務框或者右上方活動的UI轉圈動畫,最好用粒子特效來做。

3、頭頂文字稱號和冒血傷害數字(1)最好不要使用UI 系統,使用SprteRenderer 和3DText實現。

(1)使用UI系統的缺陷:攝像機位置角度發生變化需要實時修改UI的位置,必然會造成網格合並,而且UI系統本身效率沒有3D的高。

4、圖文混排聊天,一幀只加載一個,避免消息太多造成卡頓。

5、技能CD轉圈不要每幀都更新,並且套上新的Canvas.

6、界面中顯示倒計時,一般最小單位是秒,最好不要每一幀都計算。

7、戰斗界面上左,上右、下左、下右、中左、中右、中間  都要掛上不同的canvas,避免網格重建影響太多。

8、主界面首次打開如果比較慢,會影響Loading條的等待時間,可以考慮分幀加載UI。

 

非戰斗界面要比戰斗界面的效率要求低一些,保持在30FPS就可以。

 

1、非戰斗界面最好設計成全屏UI、打開時將戰斗的Camera隱藏,提高效率

2、重點關注游戲對象的Active和 DeActive的數量

3、界面上顯示3D模型做好分幀加載

4、滑動列表的滑動效率需要重點關注

5、文本組件建議使用Text Mesh Pro 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM