【发布时间】:2019-12-17 22:47:32
【问题描述】:
我正在构建一个文件浏览器/3D 模型查看器。我想将各种格式的模型(仅限atm .OBJ)加载到场景中,并使用orbitControls.js 获得合理的帧速率。
我见过的大多数优化策略都集中在处理多个网格而不是一个大网格。 最好的目标是加载巨大的文件(数十万/百万个顶点)而不是让一切崩溃。我知道这很牵强,但我什至不知道从哪里开始优化这个问题,所以我至少可以提高一点帧率。到目前为止,Google 还没有帮助过我
【问题讨论】:
-
你在使用
OBJLoader吗?另外,您使用的是哪个版本的THREE.js? -
是的,最新版本
-
对于 webgl1,索引缓冲区的最大可能大小是 65535。因此很少使用单个网格来呈现具有足够细节的模型。重新组合属性缓冲区中的数据可能是可能的。但它如何推动缓冲区大小限制取决于创建模型的算法。
-
索引缓冲区大小没有限制。如果它被编码为 Short(16 位),则索引值不能超过 65535,因此您不能引用超出此限制的顶点。也就是说,有一个扩展来编码 32 位的索引,这在 webgl1 中几乎 100% 支持。
标签: javascript three.js