在Forge Viewer中加载多个模型时出现内存不足错误

问题描述 投票:0回答:1

我正在开发一个拥有14个Navisworks(NWC)模型的项目。我能够将复合模型加载到查看器中(这需要一些时间但是有效)。

但是,当我将模型逐个加载到Viewer中时,在加载所有14个模型之前出现内存错误。文件总大小约为500MB。

我观察到浏览器在浏览器崩溃之前非常敏感(模型加载发生在后台)。

我怀疑这是多边形和几何体总数的问题。我绑定使用NOP_VIEWER.initDebugTools()扩展但它似乎没有显示所有模型的总计数。它似乎只显示了第一个模型的细节。

  1. 有没有办法阻止Viewer在内存耗尽之前创建更多几何体?
  2. 有没有办法找到所有具有DebugTools扩展的模型的统计数据?
  3. 是否有另一种计算加载模型的多边形的方法?

Thangx Bond

javascript autodesk-forge
1个回答
0
投票

有没有办法阻止Viewer在内存耗尽之前创建更多几何体?

尝试并限制加载选项中的内存消耗:

var config3d = {
    memory: {
        limit: 1024 // in MB
    }
};
var viewer = new Autodesk.Viewing.Viewer3D(container, config3d);

BTW的默认限制是:

Desktop 600 MB
Mobile  195 MB

有没有办法找到所有具有DebugTools扩展的模型的统计数据?

不幸的是,内置的DebugTools不适用于多种型号。

但这不应该阻止你在每个模型的基础上查询统计数据:

let modelArray = viewer.impl.modelQueue().getModels();
let targetModel = modelArray[index];
targetModel.getGeometryList() // retrieves geometry info about a specific model

您甚至可以烘焙自己的扩展以适应多种型号。

是否有另一种计算加载模型的多边形的方法?

model.getGeometryList().geomPolyCount
© www.soinside.com 2019 - 2024. All rights reserved.