【问题标题】:setTexture in three.js performance issuesthree.js 中的 setTexture 性能问题
【发布时间】:2012-12-13 20:35:24
【问题描述】:

当我更改网格的纹理时,在某些计算机上,应用程序会冻结半秒钟。我在 100 个不同的网格上这样做。在 Chrome 分析器上,我看到 Three.js 方法 setTexture 处于 CPU 使用率之上。

我用来应用下一个纹理的方法是最简单的:

this.materials.map = this.nextTexture;

这是有效的,但我不知道如何优化它。 如果改用粒子系统,会有所改善吗?

非常感谢

【问题讨论】:

  • three.js 中的哪些函数需要很长时间?
  • 你能显示更多代码吗?您是在所有网格中重复使用新纹理还是每​​个网格都有自己的纹理?

标签: performance three.js freeze particles


【解决方案1】:

你真的使用了 100 种不同的纹理吗?

尝试根据纹理对对象进行排序,以尽量减少纹理交换。

纹理更改是更昂贵的 GPU 操作之一。

【讨论】:

    猜你喜欢
    • 2013-10-16
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2016-11-15
    相关资源
    最近更新 更多