1.為他人的系統做優化,需要注意什么?
- 盡可能在他人系統的基礎之上去做修改,不要大刀闊斧的去動別人的代碼,
2.如何降低drawCall?
- drawcall:CPU準備渲染物件,將渲染物件從硬碟加載到記憶體,再由記憶體加載到閃存,設定每個物件的渲染狀態,材質,紋理,著色器等,然后CPU向GPU發送DrawCall命令,并將渲染圖元傳遞給GPU,DrawCall過多導致CPU大量計算,影響效率
- 只有相同材質的物體可以批處理,在程式中盡可的復用材質和物體,
- 如果動態物體公用相同材質,unity會自動進行批處理,
- 復雜靜態場景,可以使用遮擋剔除演算法,
- 打包圖集,密切相關的圖打包在一起,圖集不要太大,
- 特效播放完畢,沒有active設定為false,就會繼續占用drawcall,要及時清理,
3.如何在UI上降低DrawCall?
- 盡量減少mask遮罩的使用,mask內和mask外的ui不能一次渲染,能不用就不用,或者用帶通道的圖片代替mask的遮罩功能
- 圖集整理規范,批處理是根據圖集來,常用的圖片放一個圖集,獨立界面放一個圖集等,
- ui擺放減少交叉, img -img-text 兩個drawcall image - text-image 三個drawcall
- 動靜分離
- 盡量減少raycasttarget的使用
- richtext
5.手機發燙的原因?如何處理?
- cpu計算過高,
- 手機配置不行
- 后臺程式多
- 運行時間長
- 信號弱,手機自動加大發射功率
6.GC作業原理,如何減少GC?
- 不要顯示呼叫system.gc(); 會觸發主GC,增加gc頻率
- 減少臨時物件的使用
- 字串頻繁變更使用stringbuilder
- 減少靜態變數的使用
7.unity優化,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/223353.html
標籤:其他
上一篇:數字影像處理-運動模糊&逆濾波&維納濾波(Matlab)
下一篇:音視頻技術開發周刊 | 170
