特效是可以讓游戲更生動、更鮮活,有時還能適當引導玩家行為的必不可少的重要組成。在開發者對特效進行性能評估時,由于特效數量龐大,且通常與關卡、地形、角色技能等元素緊密綁定等因素的干擾,導致難以對其進行獨立分析。本次,我們將分享如何針對項目中的特效進行專項分析的方法。
使用工具:UWA GOT Online - GPU檢測模式
使用方法:打包方式 - 性能總覽 - 壓力定位
以下為使用方法的詳細說明,期待您也一同上手實操,體驗藥到病除的效果。
打包方式
在游戲運行過程中,特效對CPU端造成的性能影響普遍較小,性能壓力主要集中在GPU端,因此主要考慮對特效的GPU性能進行分析。
為了排除游戲內其他元素的干擾,首先建議將項目中的特效資源單獨打包,并將背景設置為默認天空盒或靜態貼圖。
至于特效本身,則可以在出包時支持特效進行單獨播放。如果項目中的特效數量較多,可以增加自動播放和跳轉功能,并在特效播放后進行清除操作,避免內存泄漏導致崩潰。
在報告查看時,為了便于在GOT Online報告中快速區分和定位特效。在出包時,建議使用UWA API中的UWAEngine.Tag,特效為單位進行場景分割。
性能總覽
在GOT Online - GPU模式檢測報告中,特效的各項GPU性能情況就一目了然了。以GPU Clocks為例,這個參數表示測試時每幀的GPU時鐘周期數,是當前幀GPU性能壓力的最直接體現。開發者可以通過GPU Clocks曲線的走勢和之前預設的場景名,快速定位哪些特效的GPU壓力較大。
如果播放的特效數量較多,可以打開「場景概覽-性能概覽」頁。在場景性能表中,開發者可以獲取所有特效的各項性能參數信息,并對這些特效逐一進行分析。比如,通過對GPU Clocks進行倒序排序,即可快速篩查出哪些特效的GPU性能壓力最大,需要優先關注優化。
壓力定位
通過上文的方法,我們已經篩查出了GPU壓力最大的特效,下一步就是根據報告中的各種參數定位這些特效的GPU壓力來源,并進行優化。
首先,在優化特效的GPU性能壓力時,可以從頂點壓力、片元壓力、Shader復雜度這三個角度進行分析。
頂點壓力
以頂點數量為例,開發者可以在渲染統計模塊查看特效的Triangle數量。
更進一步,結合GPU渲染分析下的GPU Input Primitive和Culled Primitives,就可以便捷地定位到特效Triangle數量較高的主要原因,以便有針對性地檢查和優化這些可能存在浪費的特效。
片元壓力
GPU Fragment Shaded直接反應了片元階段的壓力情況。
由于在出包時我們已經剔除了渲染分辨率和后處理對特效GPU壓力的影響,所以基本可以認為GPU Fragment Shaded反應了特效本身的渲染Overdraw情況。
對于Overdraw壓力較大的特效,開發者可以在測試過程中手動進行Overdraw Dump。在Overdraw頁,就可以看到特效的Overdraw熱力圖情況,對片元壓力進行大致的判斷。
例如下面這個特效,雖然在畫面中并不明顯,但Overdraw其實非常高。
左:特效畫面 ;右:Overdraw熱力圖
Shader復雜度
GPU Total Shader Cycles反應了特效播放過程中總體Shader復雜度情況,GPU Shader Instructions則表示特效播放過程中GPU執行的Shader指令數。
開發者可以根據GPU Total Shader Cycles和GPU Shader Instructions判斷特效的GPU性能壓力是否由Shader計算貢獻。
更進一步,如果開發者在定位特效Shader復雜度壓力后,需要針對單個Shader進行具體分析,可以通過Mali Offline Compiler工具獲得單個Shader的指令數和時鐘周期數。
通過上述方法,開發者能夠有效地識別和分析特效的GPU壓力來源,并針對性地進行優化。UWA也希望通過持續不斷的努力,為開發者提供高效、精準的性能分析工具,協助提升游戲的性能表現,和開發者們一起為玩家打造出更加精美、流暢的游戲世界。
如果您也希望嘗試優化特效的性能壓力,可以前往
https://www.uwa4d.com/#download,注冊用戶即可獲得15天的免費試用權益!
你的游戲項目有這些問題嗎?
近期精彩回顧
【萬象更新】UWA Gears V1.0.9|新增幀能耗指標 【學堂上新】Unity大神速成Unreal指南:繞過新手陷阱,用Unity思維玩轉UE5! 【厚積薄發】高度場流體模擬
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.