這是第433篇UWA技術知識分享的推送,精選了UWA社區的熱門話題,涵蓋了UWA問答、社區帖子等技術知識點,助力大家更全面地掌握和學習。
UWA社區主頁:community.uwa4d.com
本期目錄:
- 怎么實現在微信小游戲接入外部JS傳參
- 如何卸載登錄場景用的字體文件
- 小游戲后臺研發工具箱里的性能數據部分為空
- 如何優化Graphics.DrawMeshInstancedIndirect持續調用的開銷
Script
Q1:以前的對接用了一個外部的全局JS函數傳參給Unity引擎,寫法是定義一個外部JS函數拿啟動參數,用Plugin里的JS代碼調用SDK啟動的JS。
請問這種傳參在微信小游戲接入怎么實現?
A:可以放在某個.jslib中,參考:
https://docs.unity3d.com/cn/2020.3/Manual/webgl-interactingwithbrowserscripting.html
感謝左君博@UWA問答社區提供了回答
Q2:我前面在JS啟動加一個這種函數傳參數,現在卻不知道放哪里,而且找不到全局函數。
function GetH5PhpArgs(){ return _game_param; }
A: 可以查看這個文檔:
https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/CustomSDK.html
感謝袁梓民@UWA問答社區提供了回答
Q3:請問微信轉換工具默認會加這些宏(WEIXINMINIGAME)嗎?還是我要手工設置Unity的宏定義?我自己的jslib能不能調用微信的函數?
A: 可以,你也可以參考微信SDK里的jslib。
感謝左君博@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/683402873d306f3e9d594ee6
Memory
Q:請問登錄場景用的字體文件要用什么辦法卸載呢?字體打在了啟動場景沒辦法卸載, 會導致進入游戲加載AssetBundle后內存中總共有兩份的情況。
A: 一般會考慮將初始場景的字體進行裁剪,只保留用到的字符。
感謝Faust@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/68340465682c7e5cd61bfa85
Platform
Q:請問小游戲后臺研發工具箱里的性能數據里面部分數據都是空的是什么原因?其他數據是有的,但CPU均值、內存異常退出率和網絡性能都沒有數據,是總樣本數量不夠多還是SDK有什么開關需要打開呢?
A: 因為性能數據上報是抽樣的,所以如果剛上線的游戲DAU很小,有些數據沒有就是正常的。
感謝袁梓民@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/683400e73d306f3e9d594ee5
Rendering
Q:我們現在場景中有很多大批量的物件是通過Graphics.DrawMeshInstancedIndirect和Compute Shader來剔除進行繪制的。目前的做法是完全沒有從GPU中返回數據給CPU,所以就算沒有任何物件通過剔除,仍然會一直調用Graphics.DrawMeshInstancedIndirect,這樣就會有很多數量空的調用。
要是根據GPU回傳的數量來決定是否調用Graphics.DrawMeshInstancedIndirect的,又會導致CPU等待GPU回傳數據。請問這個怎么做會比較好一點?
A: 建議用GPU裁剪,因為這個提交DrawCall的操作是省不了的,不過這個開銷相對較小;另外就是如果Compute Shader只有視椎體剔除,那么可以試試用CPU粗粒度剔除,放Job或 C# 并行里都行 ,這樣也方便銜接CPU繪制接口。
感謝Faust@UWA問答社區提供了回答,歡迎大家轉至社區交流:
https://answer.uwa4d.com/question/6834039a3d306f3e9d594ee7
封面圖來源于網絡
今天的分享就到這里。生有涯而知無涯,在漫漫的開發周期中,我們遇到的問題只是冰山一角,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.