unity 優化之六

2021-09-22 05:21:26 字數 927 閱讀 4559

優化方式

使用九宮,對稱貼圖:提高貼圖復用率

shader:利用shader合併貼圖通道,實現灰度圖等。alpha通道存alphatest和高光,貼圖乙個通道存陰影乙個通道存ao等,alpha通道存在貼圖的其他通道便於壓縮等等。這點在做軒轅傳奇的時候大幅使用。

壓縮動畫減少關鍵幀:前面有介紹

及時解除安裝在進出場景時,或者開啟ui介面等對效能不敏感的時候,解除安裝資源並呼叫resource.unloadasset清理引用資源和destroy,system.gc.collect清理系統資源,前面有介紹。assetbundle載入時生成、解除安裝時銷毀,這也是比較大的乙個坑:)

記憶體洩露: unity是基於引用計數的,一般記憶體洩漏是資源被hold住無法釋放,記憶體增長趨勢明顯、反覆切換場景記憶體膨脹。針對這種情況可以自己寫工具輸出每個場景的資源日誌。也可以使用xcode分析一段時間的記憶體。

表資料。表一般不會解除安裝,15年幫乙個專案做優化,發現光表資料就占用40m。建議使用二進位制反序列化使用不要直接使用字串,並且不在記憶體中做多份快取,表資料非常巨大的情況下可以考慮使用完刪除。

冗餘頂點資料:ui貼圖mesh把color,normal等不適用都匯出,靜態合併會導致記憶體增大。

抗鋸齒/rendertexture:開了抗鋸齒會增大記憶體,高解析度會增大記憶體,後期處理可以交換使用rendertexture不要建立多份。

gameobject數量:小於1w,節點書過多也會導致載入更新緩慢記憶體膨脹,可以寫工具監控並作為測試時的一項效能指標

耗電

耗電可能不會被大家所重視,但其實在手游上這是乙個非常重要的指標。如果遊戲打一兩個小時就沒電了,那出門在外誰敢玩呢?火遍全國的王者榮耀就在省電上做了非常多的優化,我們遊戲也是。那麼有哪些優化方案呢?

參考:未完待續...........

Unity優化 資源優化之紋理優化

unity3d引擎處理紋理 不論你匯入的是png,psd還是tga,它們都會被自動轉換成unity自己的texture2d格式。美術資源規範 貼圖長寬應為4的倍數 不同平台的圖集格式選擇方案 textureimporterformat android rgb compressed etc1 4 bi...

Unity效能優化之Draw Call

unity 或者說基本所有圖形引擎 生成一幀畫面的處理過程大致可以這樣簡化描述 引擎首先經過簡單的可見性測試,確定攝像機可以看到的物體,然後把這些物體的頂點 包括本地位置 法線 uv等 索引 頂點如何組成三角形 變換 就是物體的位置 旋轉 縮放 以及攝像機位置等 相關光源,紋理,渲染方式 由材質 s...

Unity優化之減少Drawcall

簡單來說,drawcall就是螢幕渲染一次所需要的開銷,為了較少消耗,提高效能,一般有以下幾種方法。一 批處理 1.動態批處理 如果動態物體共用著相同的材質,那麼unity會自動對這些物體進行批處理。動態批處理操作是自動完成的,並不需要你進行額外的操作,你可以在buildsetting中設定他。動態...