我终于理解了合并几何的性能影响。我已经注意到GPU已经绘制了所有共享几何与材料相结合的绘制调用(或者可能只是材料数量)。我的问题是,为什么开发人员必须弄清楚如何合并几何,当它明确表示three.js会将所有东西从你的合并几何中分开时呢?
我可能遗漏了一些东西。
答案 0 :(得分:1)
很难对WebGLRenderer
性能做出一般性陈述,因为每个用例都不同。
但通常情况下,如果减少绘制调用次数,性能会提高。如果您有多个网格,并且它们都共享相同的材质,那么通过将网格几何合并为一个几何体,可以将绘制调用的数量减少为一个。
请记住,只有当您的多个网格相对于彼此是静态的时,这种方法才有意义,因为一旦合并,它们就无法独立转换。
是的,如果您的网格物体有多种材质,渲染器会在渲染之前将几何体分解为更小的几何体 - 每种材质一种。
这是一个有用的提示:在控制台中,键入renderer.info
并检查返回的结果对象。这将让您深入了解幕后发生的事情。
您还可以使用this utility在屏幕上显示renderer.info
。
three.js r.68