unity優化-GPU(網上整理)


優化-GPU
GPU與CPU不同,所以側重點自然也不一樣。GPU的瓶頸主要存在在如下的方面:

填充率,可以簡單的理解為圖形處理單元每秒渲染的像素數量。
像素的復雜度,比如動態陰影,光照,復雜的shader等等
幾何體的復雜度(頂點數量)
當然還有GPU的顯存帶寬
那么針對以上4點,其實仔細分析我們就可以發現,影響的GPU性能的無非就是2大方面,一方面是頂點數量過多,像素計算過於復雜。另一方面就是GPU的顯存帶寬。那么針鋒相對的兩方面舉措也就十分明顯了。

減少頂點數量,簡化計算復雜度。
壓縮圖片,以適應顯存帶寬。
減少繪制的數目
那么第一個方面的優化也就是減少頂點數量,簡化復雜度,具體的舉措就總結如下了:

保持材質的數目盡可能少。這使得Unity更容易進行批處理。
使用紋理圖集(一張大貼圖里包含了很多子貼圖)來代替一系列單獨的小貼圖。它們可以更快地被加載,具有很少的狀態轉換,而且批處理更友好。
如果使用了紋理圖集和共享材質,使用Renderer.sharedMaterial 來代替Renderer.material 。
使用光照紋理(lightmap)而非實時燈光。
使用LOD,好處就是對那些離得遠,看不清的物體的細節可以忽略。
遮擋剔除(Occlusion culling)
使用mobile版的shader。因為簡單。
優化顯存帶寬
第二個方向呢?壓縮圖片,減小顯存帶寬的壓力。

OpenGL ES 2.0使用ETC1格式壓縮等等,在打包設置那里都有。
使用mipmap。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM