1

我在 iPad 上使用 threejs 加载一些 3d gltf 模型时遇到问题。加载实际上工作正常,它在台式电脑和安卓平板电脑上加载正常,但在我的具体情况下,它需要在 iPad 平板电脑上运行并且页面不断崩溃,因为它耗尽了所有试图渲染模型的内存(我猜Android 为浏览器提供了更多内存使用)。

我的问题是如何优化模型以使其能够在 iPad 上运行?我的第一个想法是顶点/索引等的数量会影响渲染,但事实证明,具有更多顶点和索引的模型能够加载,而“优化”模型无法加载。我们将模型放入巴比伦在线预览器以查看其信息,我注意到,与不起作用的新模型相比,具有更多顶点和索引的旧模型具有更少的网格和更少的绘制调用。那么我们应该专注于优化而不是顶点和索引的数量吗?

问题是我们需要优化模型以在 iPad 上渲染,但我不知道模型的哪一部分需要优化,因此非常感谢任何帮助!

PS我尝试实现DRACO压缩和DRACOLoader,但它没有帮助,因为它只是压缩文件,一旦它需要在屏幕上呈现,压缩就根本无关紧要,因为它基本上仍然是需要的相同3d文件呈现。如果需要,我可以共享代码,但我认为这并不重要,因为加载没有问题,只是模型没有优化。

4

1 回答 1

2

过大的纹理是问题所在。我们有 2048x2048px 的纹理,但里面只有一种颜色。所以我把所有的纹理缩小到 1x1px 并且效果很好。

于 2020-07-30T17:27:27.350 回答