2014-09-26 39 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