![]()
這是第454篇UWA技術(shù)知識(shí)分享的推送,精選了UWA社區(qū)、UWA AI問答的熱門話題等技術(shù)知識(shí)點(diǎn),助力大家更全面地掌握和學(xué)習(xí)。
UWA社區(qū)主頁(yè):community.uwa4d.com
UWA QQ群:793972859
本期目錄:
如何排查優(yōu)化URP內(nèi)置Shader冗余
- 運(yùn)行時(shí)Shader內(nèi)存下降的原因
From問答社區(qū)
Q1:請(qǐng)教一下Shader冗余應(yīng)該怎么查,似乎好幾個(gè)Shader運(yùn)行時(shí)都有兩份?
A: 資源冗余最常見的原因是AssetBundle沒有依賴打包導(dǎo)致的,可以使用UWA的在線AssetBundle檢測(cè)進(jìn)行冗余檢測(cè)先試試。
Q2:測(cè)了AssetBundle,確實(shí)有冗余,但AssetBundle冗余的Shader和運(yùn)行時(shí)冗余的Shader好像又不一致。實(shí)際運(yùn)行時(shí)的冗余都是Hidden/Universal Render Pipeline/xxx。這又是為什么呢?
A: 這些是URP的Shader,通常是URP Asset的引用導(dǎo)致的,因?yàn)閁RP Asset會(huì)引用這些Shader。而內(nèi)存中出現(xiàn)兩份Shader,說(shuō)明內(nèi)存中出現(xiàn)了兩個(gè)來(lái)源路徑不一樣的URP Asset,通常一份是在PlayerSetting中引用的URP Asset,另外一份可能來(lái)自AssetBundle中動(dòng)態(tài)加載的URP Asset。RendererData里面會(huì)引用到PostProcessData,PostProcessData就會(huì)引用這些Shader,如果代碼里面動(dòng)態(tài)加載的 AssetBundle 里面也有這種資源,也會(huì)引用一份Shader進(jìn)內(nèi)存,就會(huì)造成冗余。
![]()
![]()
![]()
Q3:請(qǐng)問這個(gè)怎么處理,直接刪去嗎?
A: 一般只處理內(nèi)存占用比較大的即可,其他的內(nèi)存占用比較小,冗余開銷也不大。比如Hidden/Universal Render Pipeline/Uberpost,需要?jiǎng)h除其中用不到的Keyword來(lái)降低占用;又比如Hidden/Universal Render Pipeline/HBAO,看是否確實(shí)要用到,用不到就解除引用。
歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/69245652244ce21ce9ec095c
From問答社區(qū)
Q:請(qǐng)問在游戲運(yùn)行過程中不同時(shí)刻截幀后同一個(gè)Shader的內(nèi)存占用為什么不一樣?用UWA的資源列表觀察完整生命周期曲線后更明顯了,全程都在輕微但持續(xù)地下降,這是什么原因呢?
![]()
A:這是因?yàn)椋瑑?nèi)存分析工具統(tǒng)計(jì)到的是在Unity引擎層Native Object處的Shader內(nèi)存。引擎會(huì)在ShaderCreateGPUProgram操作時(shí),將Shader Code信息轉(zhuǎn)化為運(yùn)行時(shí)GPU實(shí)際要用到的信息。因此會(huì)表現(xiàn)為Shader本體資源內(nèi)存下降,但系統(tǒng)層Native Heap和GFX內(nèi)存都會(huì)顯著上升。
這個(gè)現(xiàn)象在UWA DAY 2025的話題中正好有相應(yīng)的原理討論和實(shí)驗(yàn),分別為:
Unity移動(dòng)游戲工業(yè)級(jí)性能優(yōu)化指南 3.0
https://edu.uwa4d.com/course-intro/1/619
《心動(dòng)小鎮(zhèn)》內(nèi)存優(yōu)化經(jīng)驗(yàn)談
https://edu.uwa4d.com/course-intro/1/616
歡迎大家轉(zhuǎn)至社區(qū)交流:
https://answer.uwa4d.com/question/69245c90244ce21ce9ec095f
無(wú)論是社區(qū)里開發(fā)者們的互助討論,還是AI基于知識(shí)沉淀的快速反饋,核心都是為了讓每一個(gè)技術(shù)難題都有解、每一次踩坑都有回響。本期分享分別來(lái)自UWA AI問答和UWA問答社區(qū),希望這些從真實(shí)開發(fā)場(chǎng)景中提煉的經(jīng)驗(yàn),能直接幫你解決當(dāng)下的技術(shù)卡點(diǎn),也讓你在遇到同類問題時(shí),能更高效地找到破局方向。
封面圖來(lái)源于網(wǎng)絡(luò)
今天的分享就到這里。生有涯而知無(wú)涯,在漫漫的開發(fā)周期中,我們遇到的問題只是冰山一角,UWA社區(qū)愿伴你同行,一起探索分享。歡迎更多的開發(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)”用戶上傳并發(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.