天天看點

GPU性能優化,One Step!

Overdraw

該子產品可以幫助使用者直接檢視項目運作時每幀都渲染的像素數量,進而反映出裝置GPU端所承受的壓力。我們可以看到下面的圖檔中有地方是黑色,有地方是紅色。顔色越紅,表示該處像素在目前幀中被填充的次數較多,進而GPU的壓力也就越大。移動VR開發者需要特别關注這部分的情況。

GPU性能優化,One Step!

下圖是性能檢測報告中的GPU子產品頁面,我們提供四個參數供開發者進行參考:

GPU性能優化,One Step!

項目運作過程中,單幀填充像素的數量峰值。

項目運作過程中,平均每幀的填充像素數量。

上述兩個參數中,機關為M,表示的是百萬,即10.4M表示總填充像素數量為一千零四十萬。

項目運作過程中,單幀中整個螢幕被填充的倍數峰值;倍數越高,則GPU的壓力越大。

項目運作過程中,平均每幀的填充的倍數均值;倍數越高,則GPU的壓力越大。

在這裡,使用者可以對圖表進行互動操作。我們提供了兩類截圖,一類是原始截圖,一類則是Overdraw截圖。

GPU性能優化,One Step!

通過該子產品,研發團隊可以:

對GPU壓力有更加深入的認識,對Overdraw較高的不合理操作及時進行優化; 更直覺地看到粒子系統、UI的制作是否存在問題。

◆◆

Mipmap

使用者可以直接檢視項目運作時,每幀紋理在渲染時所用的Mipmap層級,進而來進一步檢視其紋理的尺寸使用是否合理。

GPU性能優化,One Step!

如上圖,在該頁面中,我們通過不同顔色來表示紋理所用的層級。

紫色(4x):表示此處所用紋理的長和寬均被拉伸了4倍,在這種情況下很有可能造成紋理模糊。

藍色(2x):表示此處所用紋理的長和寬均被拉伸了2倍,在這種情況下也有可能造成紋理模糊。

黑色:表示此處所用的紋理剛好合适,頁面中黑色區域越大越好。

橙色(1/2):表示此處所用紋理為原始紋理的Mipmap第1層,即所用的真實紋理其長寬均為原始紋理的0.5倍。

綠色(1/4):表示此處所用紋理為原始紋理的Mipmap第2層,即所用的真實紋理其長寬均為原始紋理的0.25倍。

紅色(1/8):表示此處所用紋理為原始紋理的Mipmap第3層,即所用的真實紋理其長寬均為原始紋理的0.125倍。

如果研發團隊經常發現某些物體的顔色為橙色、綠色或紅色,則建議研發團隊嘗試降低原始紋理的分辨率,這樣既不會造成視覺效果的損失,又可以降低其記憶體占用和包體大小。

目前該GPU子產品僅支援Android裝置。當然,這隻是UWA開啟GPU優化的第一步,後續還會不斷完善我們的功能,實作對iOS、PC和其他平台的支援,并通過更多的項目性能分析進而對參數進行學習歸納總結,力争為大家提供行業性的參考标準。

GPU性能優化,One Step!

走一步,再走一步!

原文出處:侑虎科技

本文作者:admin

轉載請與作者聯系,同時請務必标明文章原始出處和原文連結及本聲明。

繼續閱讀