Forge 查看器中的元素网格加载问题
Elements meshes loading issue in forge viewer
我们在使用 Forge 查看器时遇到问题,它有时会拒绝继续将元素加载到查看器中(在大型模型上,200k+ 网格)
Incomplete loading
我们正在使用最新的 SVF2 翻译以及查看器 v7.51.0 上的 Autodesk.MemoryLimited 扩展
我们在 BIM360 上加载模型时没有这个问题,所以我想知道是否需要进行一些特定的配置?
查看器初始化代码如下:
const viewer = new Autodesk.Viewing.GuiViewer3D(viewerElement, {
disabledExtensions: {
layermanage: true,
explode: true,
section: true,
hyperlink: true
},
loaderExtensions: { svf: "Autodesk.MemoryLimited" },
memory: {
limit: 2048,
debug: {
force: true
}
}
})
viewer.loadExtension('Autodesk.Viewing.MemoryLimitedDebug');
viewer.setProgressiveRendering(true);
viewer.setSelectionMode(2);
加载模型后:
(viewer.impl as any).setFPSTargets(5, 15, 30)
在这种情况下,使用 MemoryLimited
扩展可能会适得其反。扩展的目的是确保查看器永远不会分配“太多内存”。然而,这意味着观众将继续经历这个循环:
- 从 Forge 服务器加载设计几何的子集
- 在屏幕上呈现它
- 从内存中删除几何图形
- 如果还有更多几何图形,请从步骤 1 开始重复
如果设计中有很多几何图形(就像您说的那样),查看者可能需要多次迭代才能最终找到包含您缺少的几何图形的子集。
我建议坚持使用 SVF2,但删除 MemoryLimited
扩展名。
我们在使用 Forge 查看器时遇到问题,它有时会拒绝继续将元素加载到查看器中(在大型模型上,200k+ 网格)
Incomplete loading
我们正在使用最新的 SVF2 翻译以及查看器 v7.51.0 上的 Autodesk.MemoryLimited 扩展
我们在 BIM360 上加载模型时没有这个问题,所以我想知道是否需要进行一些特定的配置?
查看器初始化代码如下:
const viewer = new Autodesk.Viewing.GuiViewer3D(viewerElement, {
disabledExtensions: {
layermanage: true,
explode: true,
section: true,
hyperlink: true
},
loaderExtensions: { svf: "Autodesk.MemoryLimited" },
memory: {
limit: 2048,
debug: {
force: true
}
}
})
viewer.loadExtension('Autodesk.Viewing.MemoryLimitedDebug');
viewer.setProgressiveRendering(true);
viewer.setSelectionMode(2);
加载模型后:
(viewer.impl as any).setFPSTargets(5, 15, 30)
在这种情况下,使用 MemoryLimited
扩展可能会适得其反。扩展的目的是确保查看器永远不会分配“太多内存”。然而,这意味着观众将继续经历这个循环:
- 从 Forge 服务器加载设计几何的子集
- 在屏幕上呈现它
- 从内存中删除几何图形
- 如果还有更多几何图形,请从步骤 1 开始重复
如果设计中有很多几何图形(就像您说的那样),查看者可能需要多次迭代才能最终找到包含您缺少的几何图形的子集。
我建议坚持使用 SVF2,但删除 MemoryLimited
扩展名。