Unity優化 GPU優化概述

2021-08-08 19:26:09 字數 863 閱讀 4853

gpu主要處理影象渲染,與cpu不同,側重點自然也不同。gpu需要優化的點主要有以下幾點:

1.填充率,可以簡單的理解為圖形處理單元每秒渲染的畫素數量。

2.畫素的複雜度,比如動態陰影,光照,複雜的shader等等

3.幾何體的複雜度(頂點數量)

4.gpu的視訊記憶體頻寬

針對上面的彙總,可以得知gpu的優化無非兩點:減少繪製的數目優化視訊記憶體頻寬

優化方案很簡單,減少繪製的數目,無非是減少頂點數量,簡化複雜度,舉措如下。

1.保持材質的數目盡可能少。這使得unity更容易進行批處理。

2.使用紋理圖集(一張大貼圖裡包含了很多子貼圖)來代替一系列單獨的小貼圖。它們可以更快地被載入,具有很少的狀態轉換,而且批處理更友好。

3.如果使用了紋理圖集和共享材質,使用renderer.sharedmaterial 來代替renderer.material 。

4.使用光照紋理(lightmap)而非實時燈光。

5.使用lod,好處就是對那些離得遠,看不清的物體的細節可以忽略。

6.遮擋剔除(occlusion culling)

7.使用mobile版的shader,簡單。

再有就是壓縮,減小視訊記憶體頻寬的壓力

opengl es 2.0使用etc1格式壓縮等等,在打包設定那裡都有。

使用mipmap。

mipmap中每乙個層級的小圖都是主圖的乙個特定比例的縮小細節的複製品。因為存了主圖和它的那些縮小的複製品,所以記憶體占用會比之前大。但是為何又優化了視訊記憶體頻寬呢?因為可以根據實際情況,選擇適合的小圖來渲染。所以,雖然會消耗一些記憶體,但是為了渲染的質量(比壓縮要好),這種方式也是推薦的。

GPU優化方法

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

Unity 優化 渲染優化

渲染優化主要是減少gpu的壓力。1 透明效果 overdraw就是過度繪製,是指在一幀的時間內 16.67ms 畫素被繪製了多次,理論上乙個畫素每次只繪製一次是最優的,但是由於重疊的布局導致一些畫素會被多次繪製,而每次繪製都會對應到cpu的一組繪圖命令和gpu的一些操作,當這個操作耗時超過16.67...

Unity優化 Unity優化技巧高階開篇

所謂的優化,目的應該是盡可能減弱某種消耗,而在unity上來說,大概可以分為以下幾種 程式的執行速度,一般是指執行幀率,也包括載入速度。是我們首要考慮的重點,也是將會花最多的精力去 的話題,執行幀率是遊戲類專案的乙個非常重要的效能指標,幀率的下降將直接導致遊戲體驗的下降。程式的資源消耗,一般是指包體...