【发布时间】:2014-09-26 16:58:29
【问题描述】:
我终于了解了合并几何对性能的影响。我注意到 GPU 对所有共享几何图形和材料(或者可能只是材料数量)进行了绘制调用。我的问题是为什么开发人员必须弄清楚如何合并几何,因为很明显,three.js 无论如何都会将所有内容从合并的几何中划分出来?
我可能错过了什么。
【问题讨论】:
标签: javascript three.js webgl
我终于了解了合并几何对性能的影响。我注意到 GPU 对所有共享几何图形和材料(或者可能只是材料数量)进行了绘制调用。我的问题是为什么开发人员必须弄清楚如何合并几何,因为很明显,three.js 无论如何都会将所有内容从合并的几何中划分出来?
我可能错过了什么。
【问题讨论】:
标签: javascript three.js webgl
很难对WebGLRenderer 的性能做出一般性陈述,因为每个用例都不同。
但通常情况下,如果减少绘制调用的数量,性能将会提高。如果您有多个网格,并且它们都共享相同的材质,那么通过将网格几何合并到一个几何中,您可以将绘制调用的数量减少到一个。
请记住,只有当您的多个网格相对于彼此是静态的时,这种方法才有意义,因为一旦合并,它们就无法独立转换。
是的,确实,如果您的网格有多种材质,渲染器会在渲染之前将几何体分解成更小的几何体——每种材质一个。
这里有一个有用的提示:在控制台中,输入renderer.info 并检查返回的结果对象。这将使您深入了解幕后发生的事情。
您还可以使用this utility 在屏幕上实时显示renderer.info。
three.js r.68
【讨论】: