【问题标题】:ThreeJS scene runs at 60FPS, but turns my fans up and eventually crashesThreeJS 场景以 60FPS 运行,但让我的粉丝兴奋并最终崩溃
【发布时间】:2015-12-08 21:25:59
【问题描述】:

我是threeJS的新手,所以我决定尝试这个例子: http://threejs.org/examples/#misc_fps

我导出了一些在搅拌机中制作的地形并替换了 platform.json 文件。场景以 55-60fps 的速度运行,我没有真正的延迟问题,但它会逐渐导致我的粉丝越来越大声。最终页面将停止响应。这很令人惊讶,因为我的电脑规格非常好。

根据 rendererstats.js,我的场景有 23k 个顶点和 7k 个面。我想也许这就是问题所在,但尽管数量减少了一半,它仍然存在。我用谷歌搜索并进行了实验,但没有取得多大成功。然后我尝试了原始演示(上面链接),并意识到我的计算机反应相同。

您认为该演示的哪些原因可能会导致问题,是否有解决方法?我非常感谢任何帮助解决这个问题。

【问题讨论】:

  • 演示对我来说很好。可能是您的计算机有问题。
  • 23k 顶点和 7k 面即使在普通笔记本电脑上也不是性能问题。
  • 检查您的垃圾收集器和循环期间的操作,例如 for/foreach ...

标签: javascript three.js webgl


【解决方案1】:

演示似乎很好。我不知道问题出在哪里,但我可能会说一些事实。

浏览器本身不需要显卡来运行,但是一旦你用 webgl 打开标签,它可能会要求硬件来使用它。无论 WebGL 应用程序的要求如何,这也可能导致成为粉丝。这真的是硬件/固件的事情。 我之前也遇到过类似的问题,结果我的笔记本电脑坏了。

所以我建议首先尝试消除您的问题,如果您的设备有类似问题,请进行 GPU 基准测试或测试其他应用程序(游戏)。 如果没有,则尝试消除 webgl 的问题。使用此演示尝试不同的浏览器。还可以尝试更多的 webgl 应用程序,并尝试找出是否只有三个.js 应用程序、任何 webgl 应用程序或只有这个应用程序有问题。

  • 如果任何浏览器中的每个应用程序都出现问题,问题将非常严重,因为我不知道您的配置,所以我无能为力。
  • 如果问题出在任何浏览器的这个演示上,但其他应用程序都很好,我想问题可能在 WebGL 和您的显卡之间(某些特定的 WebGL/GLSL 功能),所以问题也很深。它可能会报告给 webgl 开发者社区,那里也是显卡供应商。
  • 如果问题仅出在一个浏览器上,则可能是浏览器设置或浏览器本身。您可能会尝试重新安装它或将其报告给浏览器开发人员。
  • 如果问题出在一个浏览器并且只有这个demo,那就是浏览器和Threejs相关的问题。而且你只能做更深入的演示基准测试并尝试向 Threejs 开发人员报告。

抱歉,这可能不是一个答案,但评论太长了。

【讨论】:

    猜你喜欢
    • 2016-11-11
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多