【问题标题】:Why do we need merge geometries ourselves?为什么我们自己需要合并几何?
【发布时间】:2014-09-26 16:58:29
【问题描述】:

我终于了解了合并几何对性能的影响。我注意到 GPU 对所有共享几何图形和材料(或者可能只是材料数量)进行了绘制调用。我的问题是为什么开发人员必须弄清楚如何合并几何,因为很明显,three.js 无论如何都会将所有内容从合并的几何中划分出来?

我可能错过了什么。

【问题讨论】:

    标签: javascript three.js webgl


    【解决方案1】:

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

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

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

    是的,确实,如果您的网格有多种材质,渲染器会在渲染之前将几何体分解成更小的几何体——每种材质一个。

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

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

    three.js r.68

    【讨论】:

    • 是什么破坏了它?是threejs还是webgl?它是如何工作的?
    • three.js 将其分解。
    猜你喜欢
    • 1970-01-01
    • 2010-09-20
    • 2019-06-09
    • 2014-06-18
    • 2017-02-26
    • 2011-04-03
    • 2017-07-27
    • 2020-09-21
    • 2020-03-09
    相关资源
    最近更新 更多