您當前的位置:首頁 > 攝影

Unity3D 效能最佳化:執行時動態圖集

作者:由 neo胥 發表于 攝影時間:2021-04-25

上一篇文章寫到了UI的DC最佳化,圖集的策略最開始按照UI區域劃分,或者說是按照資料夾來劃分,然後在改進成按照介面來劃分,這樣可以將圖集的數量降到最低的情況,但是這也帶來了一個非常苦難,隨著圖片的越來越多,圖集的管理也就越來越麻煩,舉例來說,原來的圖集只需要拖入資料夾就可以了。

Unity3D 效能最佳化:執行時動態圖集

現在的如果按面板分的話就得這樣

Unity3D 效能最佳化:執行時動態圖集

這樣的話當新增一張新圖片時,就得向所有相關的圖集拖入新圖片。圖集越多就越麻煩。

然後看到了這篇文章,

裡面簡單介紹了動態圖集,然後透過這種動態圖集的方式可以省去管理圖集的時間,並且DC的次數也可以最佳化的非常好。但是也是有使用場景上的限制的!不常發生圖片上的更新的介面。可以一次全部新增到動態圖集中去

下面介紹一下使用方法

Unity3D 效能最佳化:執行時動態圖集

掛載DynamicImage 代替Image元件,如果預設有Sprite的話,就會將這個Sprite放在動態圖集中,主要是透過Graphics。CopyTexture來實現,如果圖片過大的話就會申請一張新的動態圖集。

當介面被關閉或者不需要顯示某個Image時,可以釋放圖集上的空間,以騰出空間給新的圖片使用,內部採用引用計數的方式,來判斷是否需要釋放圖片區域。

Unity3D 效能最佳化:執行時動態圖集

Github:

https://github。com/tkonexhh/DynamicAtlas

參考連結:

標簽: 圖集  圖片  介面  UI  dc