在上一篇文章中,我闡述了如何使用PVRTune GPU性能記錄工具中的時間數(shù)據(jù)和高級計數(shù)器識別Fantasy Warrior 3D演示在基于PowerVR的目標設備上運行時是否受CPU限制。
本文中,我將描述一些PVRTune的高級分析計數(shù)器,并闡述如何使用這些計數(shù)器更好地分析GPU工作負載。
每三角形的頂點值
每個三角形的頂點數(shù)都有一個平均值。輸入的頂點數(shù)量除以輸入的三角形數(shù)量便是這個平均值。此計數(shù)器顯示了已轉(zhuǎn)化的頂點如何在三角形中實現(xiàn)共享。
這個值在最大值3(表明沒有共享且每個三角形每頂點都有一個索引)及數(shù)值接近或低于1中進行變化。數(shù)值越低,則待處理的幾何圖形最優(yōu)。
如果對幾何數(shù)據(jù)進行合理分類,便可以提高頂點處理的效率。一般要遵循的原則是:指數(shù)緩沖區(qū)中領(lǐng)近三角形之間共享的頂點數(shù)越多,每個三角形頂點值則越低。
在這款游戲中,每三角形頂點值是1.5,則意味著比理想值(每三角形頂點值< = 1)略高。為獲得最佳性能,三角形應按空間位置來分類,以提高轉(zhuǎn)化后頂點的緩存效率。
可以使用Imagination的三角形分類算法來優(yōu)化網(wǎng)格。最新發(fā)布的PowerVR圖形SDK v4.0中包含了此分類算法(可查閱PVRTGeometry.h文件)。
三角形剔除
這個值表示數(shù)據(jù)寫入?yún)?shù)緩沖區(qū)之前經(jīng)剔除后轉(zhuǎn)化的三角形百分比。這些剔除的三角形包括子像素、背面和離屏多邊形。
在這款游戲中,該值(80.2%)非常高。這意味著GPU已經(jīng)浪費了很多時間處理被貼圖排斥的多邊形(GPU –貼圖負載)。可以使用PVRTrace決定是否存在很多離屏多邊形或者背面剔除是否總是失效。
HSR效率
該計數(shù)器可以展示隱面消除(HSR)的有效性 (更多關(guān)于HSR的信息點擊此處),其在處理之前排除了模糊的像素。這可表示用來著色的像素與提交總像素的百分比。
任何被不透明的多邊形阻擋且任何不可見的像素在早期都是被排除的。這樣可避免不可見像素的處理和紋理加工成本過高,最大化地優(yōu)化了性能并節(jié)省了內(nèi)存帶寬。
該款游戲中的HSR效率(21.0%)有點偏低??梢允褂肞VRTrace檢查是否場景中有太多混合對象或是否所有不透明繪圖出現(xiàn)在透明繪圖之前。
ISP過載
圖像合成處理器(ISP)是PowerVR GPU的一部分,并在深度和模板測試中獲取原始數(shù)據(jù)并進行隱面消除 (HSR)。該計數(shù)器可以展示是否此單元已成為一個瓶頸。
此款游戲的ISP計數(shù)器呈現(xiàn)的值高達75.6%。ISP過載事件非常罕見,只有當一個或多個貼圖必須處理大量重疊的多邊形(如高透支)時才會發(fā)生??梢允褂肞VRTrace發(fā)現(xiàn)場景中是否有高透支現(xiàn)象。
Z加載/存儲
對于大多數(shù)的渲染,深度和模板緩沖區(qū)僅包含必須完成相關(guān)渲染的臨時數(shù)據(jù)。在PowerVR GPU架構(gòu)中,片上深度和模板緩沖區(qū)則用于存儲這些數(shù)據(jù)。當利用適當?shù)腁PI機制時,應用程序不會從片上緩沖區(qū)中上傳或編輯數(shù)據(jù)。這使應用程序可以避免臨時的緩沖區(qū)進行冗余系統(tǒng)內(nèi)存?zhèn)鬏敗?/p>
Z加載/存儲事件表明,已經(jīng)對GPU中的深度/模板數(shù)據(jù)進行上傳或處理。除非一個給定的應用程序需要保持深度或模板信息,應用程序應該使用適當?shù)腁PI機制來避免這些成本頗高的數(shù)據(jù)傳輸操作。
數(shù)值在0%以上表示發(fā)生了Z加載/存儲。為避免這些操作,應確保不需要保存的深度和模板緩沖區(qū)在每個渲染開始時就已被清除,且在渲染結(jié)束后便已無效。
紋理加載
該計數(shù)器可以表示相比其峰值吞吐量,紋理單元的平均負荷值。
高數(shù)值(如超過50%)則表明紋理單元花費了大量的時間從系統(tǒng)內(nèi)存中獲取紋理的數(shù)據(jù)和/或執(zhí)行線性插值濾波操作。
當負載很高時,應使用以下計數(shù)器獲得更多的參考信息:
紋理過載(%):如果紋理負載高,則可能出現(xiàn)紋理過載。這將降低活動槽的占用率,進而降低著色器處理因數(shù)據(jù)關(guān)聯(lián)性引起的隱藏延遲的能力。
這款游戲中的紋理負載是80.6%——這個數(shù)值非常高。這可能是由于高透支或場景中有太多混合對象導致的。紋理過載計數(shù)器應該幫助我們縮小瓶頸。
紋理過載
紋理過載時計數(shù)器會加以顯示。每次紋理過載都表明,紋理樣本請求隊列已滿,如著色處理單元提交需求的速度比紋理單元處理的速度要快得多。
評論