2014-09-26 64 views
0

我終於理解了合併幾何的性能影響。我注意到GPU已經繪製了所有與材質相結合的共享幾何圖形(或者也許只是材料數量)。我的問題是,爲什麼開發人員不得不弄清楚如何合併幾何圖形,但明確表示three.js會將所有內容都分解出合併幾何圖形?爲什麼我們自己需要合併幾何?

我可能錯過了一些東西。

回答

1

由於每個使用案例都不相同,因此難以對WebGLRenderer的性能做出一般性陳述。

但是,如果繪製調用的次數減少,性能通常會提高。如果您有多個網格,並且它們都共享相同的材質,那麼通過將網格幾何合併到一個幾何體中,可以將繪製調用的數量減少爲一個。

請記住,這種方法只有在您的多個網格相對於彼此是靜態的時候纔有意義,因爲一旦合併,它們就不能獨立轉換。

是的,的確,如果您的網格物體具有多種材質,渲染器會在渲染之前將幾何體分解爲更小的幾何體(每種材質一個)。

以下是一個有用的提示:在控制檯中,鍵入renderer.info並檢查返回的結果對象。這會讓你深入瞭解幕後發生的事情。

您還可以使用this utility在屏幕上實時顯示renderer.info

three.js r.68

+0

是什麼讓它崩潰?它是threejs還是webgl?這是如何運作的? – Parris 2014-09-27 09:12:55

+1

three.js將其分解。 – WestLangley 2014-09-27 14:22:46