GPU效能優化,One Step!

2021-09-21 21:13:40 字數 1708 閱讀 3010

overdraw

該模組可以幫助使用者直接檢視專案執行時每幀都渲染的畫素數量,從而反映出裝置gpu端所承受的壓力。我們可以看到下面的中有地方是黑色,有地方是紅色。顏色越紅,表示該處畫素在當前幀中被填充的次數較多,進而gpu的壓力也就越大。移動vr開發者需要特別關注這部分的情況。

下圖是效能檢測報告中的gpu模組頁面,我們提供四個引數供開發者進行參考:

專案執行過程中,單幀填充畫素的數量峰值。

專案執行過程中,平均每幀的填充畫素數量。

上述兩個引數中,單位為m,表示的是百萬,即10.4m表示總填充畫素數量為一千零四十萬。

專案執行過程中,單幀中整個螢幕被填充的倍數峰值;倍數越高,則gpu的壓力越大。

專案執行過程中,平均每幀的填充的倍數均值;倍數越高,則gpu的壓力越大。

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

通過該模組,研發團隊可以:

對gpu壓力有更加深入的認識,對overdraw較高的不合理操作及時進行優化;

更直觀地看到粒子系統、ui的製作是否存在問題。

◆◆mipmap使用者可以直接檢視專案執行時,每幀紋理在渲染時所用的mipmap層級,從而來進一步檢視其紋理的尺寸使用是否合理。

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

紫色(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和其他平台的支援,並通過更多的專案效能分析從而對引數進行學習歸納總結,力爭為大家提供行業性的參考標準。

走一步,再走一步!

iOS效能優化04 卡頓優化02 GPU

由於gpu主要負責紋理的渲染所以我們優化的角度一般從圖形開始 離屏渲染 在opengl中,gpu有2種渲染模式 on screen rendering 當前螢幕渲染,在當前用於顯示的螢幕緩衝區進行渲染操作 off screen rendering 離屏渲染,在當前螢幕緩衝區以外新開闢乙個緩衝區進行渲...

GPU優化方法

cuda優化的最終目的是 在最短的時間內,在允許的誤差範圍內完成給定的計算任務。在這裡,最短的時間 是指整個程式執行的時間,更側重於計算的吞吐量,而不是單個資料的延遲。在開始考慮使用gpu和cpu協同計算之前,應該先粗略的評估使用cuda是否能達到預想的效果,包括以下幾個方面 精度 目前gpu的單精...

Unity優化 GPU優化概述

gpu主要處理影象渲染,與cpu不同,側重點自然也不同。gpu需要優化的點主要有以下幾點 1.填充率,可以簡單的理解為圖形處理單元每秒渲染的畫素數量。2.畫素的複雜度,比如動態陰影,光照,複雜的shader等等 3.幾何體的複雜度 頂點數量 4.gpu的視訊記憶體頻寬 針對上面的彙總,可以得知gpu...