![]()
這是第474篇UWA技術(shù)知識(shí)分享的推送,精選了UWA社區(qū)、UWA AI問(wèn)答的熱門(mén)話(huà)題等技術(shù)知識(shí)點(diǎn),助力大家更全面地掌握和學(xué)習(xí)。
UWA社區(qū)主頁(yè):community.uwa4d.com
UWA QQ群:793972859
本期目錄:
TMP字體Atlas內(nèi)存優(yōu)化實(shí)戰(zhàn)
TMP內(nèi)嵌圖集紋理壓縮改造
本次推送的實(shí)戰(zhàn)案例來(lái)自于使用UWA服務(wù)的項(xiàng)目的真實(shí)且典型的問(wèn)題。在某個(gè)項(xiàng)目上經(jīng)過(guò)以下兩個(gè)方法優(yōu)化后,能將字體內(nèi)存從64MB下降至5MB以?xún)?nèi),效果顯著,非常值得其他團(tuán)隊(duì)參考借鑒。
實(shí)戰(zhàn)案例
Q:GOT Online報(bào)告中顯示,我們項(xiàng)目游戲字體Atlas出現(xiàn)了雙實(shí)例冗余且開(kāi)啟RW動(dòng)態(tài)圖集內(nèi)存占用過(guò)高的情況,是什么原因?該如何優(yōu)化解決?
![]()
A:字體Atlas實(shí)例數(shù)量為2,通常是由于該字體既在初始包中的初始場(chǎng)景中被引用,又在后續(xù)AssetBundle資源中重復(fù)引用,導(dǎo)致有2個(gè)對(duì)應(yīng)的Atlas實(shí)例。建議將初始場(chǎng)景中使用的字符單獨(dú)創(chuàng)建對(duì)應(yīng)的小字體,從而避免初始場(chǎng)景中有大圖集和大字體的引用。
當(dāng)前字體Atlas是開(kāi)啟了RW(Read/Write Enabled,開(kāi)啟此項(xiàng)會(huì)導(dǎo)致 CPU 和 GPU 各存一份,內(nèi)存瞬間翻倍),屬于動(dòng)態(tài)圖集機(jī)制,因此單個(gè)字體是2×4096×4096/1024/1024=32MB。開(kāi)啟RW主要為支持動(dòng)態(tài)補(bǔ)字,實(shí)時(shí)將未預(yù)加載字符填充至圖集中,避免游戲出現(xiàn)缺字亂碼。從內(nèi)存優(yōu)化的角度上來(lái)看,可以預(yù)先收集游戲的大部分字符集,將Atlas設(shè)置為靜態(tài)圖集配置,這樣就可以減少16MB的占用,對(duì)于不在靜態(tài)圖集中的字符,可以通過(guò)TMP的Fallback機(jī)制,設(shè)定一個(gè)小分辨率(比如512×512)的動(dòng)態(tài)Atlas進(jìn)行字符補(bǔ)充。
實(shí)戰(zhàn)案例
Q:TMPAsset內(nèi)嵌Atlas紋理無(wú)法壓縮是什么原因?有什么腳本改造方案?
A:當(dāng)前字體Atlas紋理屬于TMPAsset內(nèi)嵌子資源,無(wú)法單獨(dú)進(jìn)行紋理壓縮等參數(shù)配置。可通過(guò)Editor編輯器腳本對(duì)該紋理進(jìn)行獨(dú)立復(fù)制,將TMPAsset材質(zhì)球關(guān)聯(lián)替換為復(fù)制后的新紋理,并移除原TMPAsset內(nèi)的內(nèi)嵌紋理。
剝離后的獨(dú)立紋理可自由配置壓縮格式,如ASTC6×6、ASTC8×8等,進(jìn)一步降低內(nèi)存開(kāi)銷(xiāo)。經(jīng)真機(jī)測(cè)試,壓縮后文字美術(shù)表現(xiàn)無(wú)明顯差異。
Atlas優(yōu)化前后內(nèi)存占用對(duì)比:
優(yōu)化前:64MB
優(yōu)化后合計(jì):4.75MB
初始場(chǎng)景 512×512靜態(tài)圖集:0.25MB
4096×4096靜態(tài)圖集(ASTC8×8):4MB
Fallback兜底紋理512×512(Alpha8):0.5MB
無(wú)論是社區(qū)里開(kāi)發(fā)者們的互助討論,還是AI基于知識(shí)沉淀的快速反饋,核心都是為了讓每一個(gè)技術(shù)難題都有解、每一次踩坑都有回響。本期分享分別來(lái)自UWA AI問(wèn)答和UWA問(wèn)答社區(qū),希望這些從真實(shí)開(kāi)發(fā)場(chǎng)景中提煉的經(jīng)驗(yàn),能直接幫你解決當(dāng)下的技術(shù)卡點(diǎn),也讓你在遇到同類(lèi)問(wèn)題時(shí),能更高效地找到破局方向。
封面圖來(lái)源于網(wǎng)絡(luò)
今天的分享就到這里。生有涯而知無(wú)涯,在漫漫的開(kāi)發(fā)周期中,我們遇到的問(wèn)題只是冰山一角,UWA社區(qū)愿伴你同行,一起探索分享。歡迎更多的開(kāi)發(fā)者加入U(xiǎn)WA社區(qū)。
UWA官網(wǎng):www.uwa4d.com
UWA社區(qū):community.uwa4d.com
UWA學(xué)堂:edu.uwa4d.com
點(diǎn)擊下方名片關(guān)注我們,將我設(shè)為星標(biāo),及時(shí)接收小編每日推送哦,性能優(yōu)化不迷路~
近期精彩回顧
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.