【问题标题】:Threejs too slow rendering leads that the browers can't response三个js渲染太慢导致浏览器无法响应
【发布时间】:2014-11-25 13:43:12
【问题描述】:

我使用 ThreeJS 绘制了一个 3D 场景。 3D场景包括一万个粒子,这些粒子按照某种布局分布。通过 Threejs,可以轻松渲染 3D 世界中的粒子。但我有一个问题。渲染过程中浏览器会显示30s空白。 30s的时间对用户来说太不友好了。

谁能告诉我如何解决渲染时间这么长的问题?或者如何提高渲染效率?任何帮助将不胜感激!

【问题讨论】:

  • 你有代码要显示吗?
  • 黑屏到底什么时候出现?在第一帧渲染之前?
  • 如果不显示任何代码,则很难诊断。另外,您使用的是哪个浏览器?不同浏览器的性能差异很大
  • 在第一帧渲染之前出现了黑屏。
  • 浏览器是chrome

标签: javascript performance three.js rendering


【解决方案1】:

不看代码很难说。如果延迟原因是 javascript,您可以通过基准来衡量它,例如 console.time。但如果中断发生在您的 GPU 中,则可能您应该使用较少数量的粒子

【讨论】:

  • 代码太长了。不得不说,我已经做了三四次遍历操作了,不知道会不会导致延迟。但是我已经使用console.log 打印每个信息以供流通。打印信息比渲染效果呈现更清晰。
【解决方案2】:

如果使用(例如)for 循环一次性添加所有粒子,它会阻塞渲染循环。 您可以尝试以一千个为单位添加所有粒子,直到达到您想要的数量。

【讨论】:

    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2012-08-10
    • 2022-01-25
    • 2019-05-07
    相关资源
    最近更新 更多