为什么我们自己需要合并几何?

时间:2014-09-26 16:58:29

标签: javascript three.js webgl

我终于理解了合并几何的性能影响。我已经注意到GPU已经绘制了所有共享几何与材料相结合的绘制调用(或者可能只是材料数量)。我的问题是,为什么开发人员必须弄清楚如何合并几何,当它明确表示three.js会将所有东西从你的合并几何中分开时呢?

我可能遗漏了一些东西。

1 个答案:

答案 0 :(得分:1)

很难对WebGLRenderer性能做出一般性陈述,因为每个用例都不同。

但通常情况下,如果减少绘制调用次数,性能会提高。如果您有多个网格,并且它们都共享相同的材质,那么通过将网格几何合并为一个几何体,可以将绘制调用的数量减少为一个。

请记住,只有当您的多个网格相对于彼此是静态的时,这种方法才有意义,因为一旦合并,它们就无法独立转换。

是的,如果您的网格物体有多种材质,渲染器会在渲染之前将几何体分解为更小的几何体 - 每种材质一种。

这是一个有用的提示:在控制台中,键入renderer.info并检查返回的结果对象。这将让您深入了解幕后发生的事情。

您还可以使用this utility在屏幕上显示renderer.info

three.js r.68