降低界面的更新開銷

避免“敏感操作”
--NGUI
   1.元素隱藏顯示-->FillAllDrawCalls
FillDrawCalls常見原因:
添加/刪除元素時,穿插了其他UIDrawCall,例如一個Panel有DrawCall A,B等,在更新時A中穿插(根據(jù)Depth來的)了使用B的材質的UI,那么Panel就會變成ABAB。
添加/刪除的元素自成一個UIDrawCall(沒有任何一個UIDrawCall和它匹配,或是沒有包含這個Depth的)
    2.避免方式
嘗試讓插入的元素能夠合入現(xiàn)有的UIDrawCall(在Panel中放入一個全透明的Sprite占用這個Depth正好生產一個UIDrawCall,那么新的UI就能合入到這個UIDrawCall,缺點容錯率低)
通過scale=0或者是alpha接近于0來“隱藏”(尤其是冷卻數(shù)字、冷卻條,技能條),alpha為0和接近于0有本質區(qū)別,scale=0并不會把頂點刪掉,而是把它縮放為0的,網格、DrawCall還在,也會參與網格重建,好處在于不會引起上面產生的峰值
--UGUI
元素的position賦值-->Canvas.BuildBatch

優(yōu)化選項(NGUI)
static:優(yōu)化移動UIPanel時(跳過LateUpdate的輪詢)
visible:優(yōu)化大量網格更新時
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容