Unreal性能測評 | GPU檢測、重要參數解析,開啓高效優化的新姿勢!

UWA支持了Unreal項目的性能測評後,我們收到了一些開發者的細緻反饋和建議,目前我們的開發小隊正如火如荼地支持和完善中。今天先安利兩個新功能:GPU檢測和重要參數解析,幫助大家快速定位性能瓶頸,下面小編帶大家一一詳述。


GPU功能

1、OverDraw
OverDraw功能主要用於統計場景中不透明和半透明物體渲染時,屏幕上每個像素被渲染的次數越多,則表明GPU的開銷越大。如下圖所示,第一排爲當前場景渲染屏幕截圖,第二排爲對應的OverDraw可視化結果,顏色越亮的區域代表像素被渲染的次數越多。
請輸入圖片描述

結合遊戲截圖以及OverDraw可視化結果,我們不難發現,場景中火焰粒子特效的對應區域OverDraw較高,這是因爲粒子系統通常由多層半透明Billboard疊加渲染而成,那麼我們可以快速定位場景中造成OverDraw較高的物體,並可針對地對其進行優化。

此外,我們還對OverDraw進行了量化統計,包括項目測試中的總填充數峯值、總填充數均值、填充倍數峯值和填充倍數均值。總填充數表示採樣結果中像素被渲染的總次數;填充倍數表示採樣結果中平均每個像素被渲染的次數。通過填充倍數均值的大小,我們可以衡量OverDraw總體的開銷。
請輸入圖片描述

上圖中顯示2.6x表示在遊戲運行過程中,場景中的每個像素平均每幀被渲染2.6次。根據我們對不同項目長期優化積累的經驗,對於移動平臺該值控制在3.0較爲合適。如果高於該值,建議開發者對項目的OverDraw進行針對性優化。

同時,我們統計了單像素填充峯值等數據,並展示了其在遊戲運行過程中的走勢曲線,如下圖所示:
請輸入圖片描述

點擊該曲線,可以查看對應值,並定位其對應採樣幀的截圖可OverDraw可視化結果,進而更快速地定位造成OverDraw峯值的物體。

2、Mipmap
Mipmap功能主要用於統計場景中不透明物體渲染時,材質中使用的紋理被採樣的Mipmap層級(即LOD層級)數。紋理採樣的Mipmap層級數越大,說明該紋理渲染到屏幕時佔據屏幕像素相對於其分辨率較少,造成的內存浪費較大。

下圖是遊戲運行過程中,採樣不同Mipmap層級像素佔總像素數的比例走勢曲線。第一排和第二排圖像分別顯示了渲染屏幕場景和對應場景中物體使用紋理的Mipmap層級數。
請輸入圖片描述

在第二排圖中,黑色部分表示使用原始紋理大小進行渲染的像素,綠色、黃色和紅色分別表示使用1/2、1/4和1/8大小進行渲染的像素。藍色和紫色分別表示使用2x和4x(即拉伸2倍和4倍)進行渲染的像素。點擊該曲線可查看該採樣幀的數據統計,以及對應的測試場景和Mipmap可視化結果,從而快速定位紋理使用過大的場景物體,並針對性地對其進行優化。


重要參數

重要參數是UWA性能測評報告中的重點功能。經過大量的定量實驗和歸納總結,我們發現了一些極具代表性的函數,通過分析這些函數的運行趨勢並優化,可以達到快速提升性能的目的。在目前的版本中,我們展示了Tick Time函數的具體性能堆棧。
請輸入圖片描述

研發團隊可以詳細地查看遊戲線程Tick各個函數中,對藍圖的Tick函數進行調用的時間開銷,包括總耗時、自身耗時和調用次數等。選中子函數,可以通過圖表直觀地查看其運行走勢,進而快速定位藍圖性能瓶頸。我們也可以選擇查看總體堆棧信息和指定幀的堆棧信息,從總體和微觀上對性能的各個瓶頸嚴格把關。


如何使用UWA測評服務

用戶註冊登錄UWA官網(www.uwa4d.com)後,在項目標籤下“新建項目”,填寫項目名稱並根據測試的平臺下載對應的SDK。根據提示集成SDK後編譯生成測試包,即可坐等報告生成。
請輸入圖片描述

目前,UWA支持Unreal遊戲/應用在iOS、Android和PC三大平臺的性能測評,同時隨着對Unreal引擎更深入的測試和研究,我們將探索更多性能參數的規律。在後續的研發中,我們會不斷更新UWA的測評機制,力求爲Unreal開發者提供更有針對性的分析和參考。

現在即可點擊此處,瞭解Unreal的demo報告哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章