日前,游戲和VR應(yīng)用性能優(yōu)化平臺 UWA 宣布新的 GPU Counter 功能更新:增加了對 PowerVR 品牌 GPU 芯片的支持。針對 PowerVR GPUCounter,UWA提供了 GPU 負載、GPU 著色、GPU 帶寬、GPU 圖元 4 個模塊的分析。 最新的 UWA SDK 2.4.4 已發(fā)布,下載最新版 SDK,并使用搭載 PowerVR GPU IP 芯片的設(shè)備進行測試,即可在GOT Online Overview的GPU模塊下查看到對應(yīng)的數(shù)據(jù),掌握GPU壓力和性能消耗情況。
以下針對PowerVR GPU Counter,圍繞UWA所提供的GPU 負載、GPU著色、GPU帶寬、GPU圖元4個模塊的分析進行詳細說明。
1、GPU負載
GPU Counter下的GPU負載包含Non Fragment Utilization和Fragment Utilization兩個性能指標,分別代表非片段處理占整體GPU處理耗時百分比和片段處理開銷占整體GPU處理開銷百分比。
在GPU上運行的工作負載由作業(yè)管理器統(tǒng)一協(xié)調(diào),該任務(wù)管理器負責將工作負載調(diào)度到GPU內(nèi)部的各個處理單元上,它將兩個FIFO工作隊列,稱為作業(yè)插槽。其中,一個插槽用于非片段工作負載,另一個插槽則用于片段著色工作負載。 當出現(xiàn)GPU瓶頸時,正常情況下Non Fragment Utilization和Fragment Utilization至少有一個是接近100%,如果兩者都低于100%,則有可能是Non Fragment和Fragment之間存在數(shù)據(jù)依賴關(guān)系。
當Non Fragment Utilization過高時,開發(fā)者可以從頂點數(shù)、復(fù)雜的Compute Shader的使用情況以及Geometry Shader、Tessellation Shader等角度著手進行優(yōu)化。當Fragment Utilization過高時,則可以考慮項目中是否存在是否存在片段數(shù)目過多、片段Shader過于復(fù)雜。
2、GPU著色
包含Overdraw和Cycles/Pixel兩個指標。
Overdraw(過度繪制)
該項表示項目運行過程中,單幀中整個屏幕被填充的倍數(shù)。倍數(shù)越高,則GPU的壓力越大。在游戲運行過程中,場景中半透明物體的重合會使得同一個像素點在一幀中會被繪制多次,造成Overdraw過高的情況。如下圖所示,UI和粒子特效層疊導(dǎo)致容易出現(xiàn)Overdraw。
Cycles/Pixel
表示平均每個像素耗費的GPU時鐘周期。一般來說,Shader復(fù)雜度會極大地影響GPUCycles占用的情況。當畫面的Shader復(fù)雜度過高時,GPU需要消耗大量的時鐘周期對Shader進行運算,容易造成GPU耗時變高,造成卡頓。
因此,通過查看GPU著色模塊,就可以快速定位高Overdraw和高Cycles的場景,判斷這個場景的GPU壓力較高是Overdraw還是Shader復(fù)雜度過高造成的,進行有針對性的優(yōu)化。
3、GPU帶寬
和CPU一樣,GPU帶寬也是芯片耗電的重要指標。當GPU持續(xù)進行高負載外部讀寫時,掉電就會過快。
UWA的GPU帶寬模塊統(tǒng)計了測試過程中單幀的讀寫帶寬總量,通過查看GPU帶寬模塊,可以快速定位測試過程中帶寬較高的場景和原因,并進行進一步測試優(yōu)化。
4、GPU圖元處理 渲染面是產(chǎn)生GPU壓力的重要因素之一,我們可以通過 Overview 模式里的 Triangle 指標來查看和分析哪些畫面的渲染面較多。
渲染面過多,一方面可能是模型過于復(fù)雜,一般可以通過 LOD、HLOD 等常用技術(shù)來簡化遠距離的模型,在不影響畫質(zhì)的情況下顯著降低渲染面;另一方面,可能是地形、大建筑物等大面積模型沒有進行適當?shù)牟鸱?,?dǎo)致進入視域體的面片可能不多,但提交GPU的渲染面依然很多。 對于第二種情況,我們可以通過新功能“GPU圖元”來進行初步的判斷。
總圖元數(shù):提交到GPU端的圖元總數(shù),該數(shù)值基本等同于引擎端統(tǒng)計的渲染面片總數(shù)。 可見圖元數(shù):在GPU端通過各種裁剪之后,留下的參與渲染的三角面。 可見圖元不包括:因為在視域體外而被裁剪的三角面,因為朝向而被裁剪的三角面。因此,在3D場景中,比較理想的情況下,可見圖元的數(shù)量應(yīng)該接近或高于 50%(對于大部分模型,有一半三角面會因為朝向被裁剪)。如果某些角度下,可見圖元的比例非常低,則很可能存在上文提到的第二種情況,從而可以針對性地檢查和優(yōu)化場景中,這個角度下,被提交到GPU的大面積模型。
GPU圖元處理數(shù)量過多會對設(shè)備的帶寬和能耗造成較大的影響,應(yīng)盡量在程序端完成剔除,并減小送往GPU的圖元數(shù)。
需要注意的是,基于架構(gòu)不同,同一參數(shù)在不同品牌芯片上的推薦值也會存在差異,不同設(shè)備間橫向?qū)Ρ鹊囊饬x不大,更推薦大家在相同的設(shè)備上進行縱向?qū)Ρ?。同時,由于同品牌芯片的架構(gòu)之間也會存在差異,UWA目前僅支持部分芯片的GPU Counter數(shù)據(jù)采集,具體支持設(shè)備列表可通過下圖或登錄UWA官網(wǎng)對“Mali/Power VR/Adreno GPUCounter支持設(shè)備”列表進行查詢:
? 以上就是這次關(guān)于搭載 PowerVR GPU IP 芯片的新功能介紹了,希望會對開發(fā)者們在 GPU 優(yōu)化上和項目的整體性能監(jiān)控上有所幫助?! ?/p>
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423136 -
模塊
+關(guān)注
關(guān)注
7文章
2695瀏覽量
47431 -
gpu
+關(guān)注
關(guān)注
28文章
4729瀏覽量
128890 -
SDK
+關(guān)注
關(guān)注
3文章
1035瀏覽量
45899
原文標題:UWA平臺支持PowerVR芯片,新增四大GPU模塊分析
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論