Unity3D 效能最佳化:執行時動態圖集
作者:由 neo胥 發表于 攝影時間:2021-04-25
上一篇文章寫到了UI的DC最佳化,圖集的策略最開始按照UI區域劃分,或者說是按照資料夾來劃分,然後在改進成按照介面來劃分,這樣可以將圖集的數量降到最低的情況,但是這也帶來了一個非常苦難,隨著圖片的越來越多,圖集的管理也就越來越麻煩,舉例來說,原來的圖集只需要拖入資料夾就可以了。
現在的如果按面板分的話就得這樣
這樣的話當新增一張新圖片時,就得向所有相關的圖集拖入新圖片。圖集越多就越麻煩。
然後看到了這篇文章,
裡面簡單介紹了動態圖集,然後透過這種動態圖集的方式可以省去管理圖集的時間,並且DC的次數也可以最佳化的非常好。但是也是有使用場景上的限制的!不常發生圖片上的更新的介面。可以一次全部新增到動態圖集中去
下面介紹一下使用方法
掛載DynamicImage 代替Image元件,如果預設有Sprite的話,就會將這個Sprite放在動態圖集中,主要是透過Graphics。CopyTexture來實現,如果圖片過大的話就會申請一張新的動態圖集。
當介面被關閉或者不需要顯示某個Image時,可以釋放圖集上的空間,以騰出空間給新的圖片使用,內部採用引用計數的方式,來判斷是否需要釋放圖片區域。
Github:
https://github。com/tkonexhh/DynamicAtlas
參考連結: