【发布时间】:2014-11-25 22:04:41
【问题描述】:
以下模型在几款低端机器上表现不错:
http://examples.x3dom.org/example/x3dom_sofaGirl.html
但是,在配备 Nvidia GT 650m 的 MacBook Pro 上,帧速率非常低。我认为这是因为 MacBook 没有 OES_element_index_uint 扩展名,但如果我这样做了,则会显示扩展名:
document.createElement("canvas").getContext("experimental-webgl").getSupportedExtensions();
重构低于 65K 的网格可以解决问题。有没有什么办法不用重组也能有好的表现?
我安装了一个应用程序 (gfxCardStatus),它禁用了 GT 650m 并强制只使用集成显卡。现在,一切正常。这是驱动程序错误吗?
我发现另一个 3d 场景在专用 GPU 上比在集成 GPU 上运行得更快:
http://examples.x3dom.org/binaryGeo/oilrig_demo/index.html
我认为这是因为它由许多小网格组成。此外,当我运行这个场景时,我可以听到 GPU 风扇转动的声音。沙发女孩场景没有。
【问题讨论】:
-
您必须使用 uint 进行索引吗?您可以编写一个包装器,将一个大网格自动批处理到多个 drawElements 调用中。根据我绘制大量立方体的经验,这样做的开销非常小。
-
我不必。事实上,根据他们的文档,我认为 X3DOM.js 框架实际上确实将其拆分。无论如何,它在 MacBook 上仍然很慢。
标签: webgl nvidia x3dom webgl-extensions