這是第432篇UWA技術知識分享的推送,精選了UWA社區的熱門話題,涵蓋了UWA問答、社區帖子等技術知識點,助力大家更全面地掌握和學習。
UWA社區主頁:community.uwa4d.com
本期目錄:
- 項目中Warmup耗時高該如何操作處理
- 如何在卸載資源后Untracked和Other的內存都回收
- 總Triangles的值是否包含了通過GPU Instancing畫的三角形
- 有沒有用Lua來修復虛幻引擎中對C++代碼進行插樁Hook的方案
Rendering
Q:項目中Warmup的處理,是每次啟動都必須操作嗎?還是第一次進入游戲處理一次就好?
然后是不是也比較有必要給iOS分段Warmup?現在Warmup時間太久了。我們是Shader都在一個AssetBundle,做分段Warmup是不是需要拆AssetBundle?
A:第一次時間會比較長,有些信息會被保存在硬盤;第二次開始預熱時間會降低,但還是必要的。
應該拆的是ShaderVariantCollection,Shader和SVC還是打在一個包,但是拆開的SVC可以分別在不同時機調用ShaderVariantCollection.WarmUp()。
感謝Faust@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/682aa1063d306f3e9d594ed9
Memory
Q:Untracked的內存增加了,導致總內存不變。再次加載這一塊資源,Untracked內存又降低了,Other內存起來了內存還是不變。但是實際上是希望卸載資源后內存卸載的。
把手機放在后臺一段時間后,再回到App,Untracked內存可能會降低到一個非常低的值,不清楚這個現象是Unity版本導致的還是Unity機制導致的,請問這合理嗎?
A:一方面經驗上認為Unity內存工具顯示的Untracked內存量本身不可盡信;另一方面,引擎的資源卸載了一部分,但變化小或時間短,因而進程沒有把內存還給系統而暫作預留,使得資源卸載和重新加載時沒有導致總內存產生顯著的變化,這種可能性是存在的。
感謝Faust@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/682aa1e63d306f3e9d594eda
Rendering
Q:請問Profiler-Rendering里統計的(Instancing)一行應該就是通過GPU Instancing畫的物體的DrawCall和Triangles吧?下圖中最上面這個總Triangles是否已經包含了通過GPU Instancing畫的三角形呢?
A: 測試開關對比了一下,是的,且已經被包含在總的里面了。
感謝Faust@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/682aa58e682c7e5cd61bfa71
Script
Q:請問虛幻引擎中是否有成熟的方案,可以對C++代碼進行插樁Hook,并在出現問題時通過Lua進行修復?
針對以上問題,有經驗的朋友歡迎轉至社區交流:
https://answer.uwa4d.com/question/682aa00c3d306f3e9d594ed8
封面圖來源于網絡
今天的分享就到這里。生有涯而知無涯,在漫漫的開發周期中,我們遇到的問題只是冰山一角,UWA社區愿伴你同行,一起探索分享。歡迎更多的開發者加入UWA社區。
UWA官網:www.uwa4d.com
UWA社區:community.uwa4d.com
UWA學堂:edu.uwa4d.com
點擊下方名片關注我們,將我設為星標,及時接收小編每日推送哦,性能優化不迷路~
近期精彩回顧
【學堂上新】
【充電一刻】
【萬象更新】
【學堂上新】
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.