[Unity優化]批處理02:動態批處理


參考鏈接:

https://docs.unity3d.com/Manual/DrawCallBatching.html

 

原理:

cpu每幀把可以進行動態批處理的網格進行合並,再把合並后的數據傳給gpu,使用同一個材質對其渲染

 

條件限制:

1.

要求mesh不能超過900個頂點屬性,同時不能超過300個頂點

如果shader用到了Vertex Position, Normal and single UV,那么不能超過300個頂點

如果shader用到了Vertex Position, Normal, UV0, UV1 and Tangent,那么不能超過180個頂點

如下,Cube可以被批處理,Sphere不可以被批處理(單個Sphere頂點數>500)

 

2.

transform的scale屬性不能有負值

如下,圖一均為(1,1,1),圖二將其中一個改為(1,-0.1,1)

 

3.

使用不同的材質會破壞批處理

 

4.

多個pass的shader會破壞批處理

如下,Cube使用的是默認材質Default-Material,對應shader為內置的Standard,是一個有多個pass的shader。圖一使用平行光,圖二使用點光源


免責聲明!

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



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