Autodesk Forge Viewer加载多模型性能不稳定求优化方案
多模型加载性能优化方案
- 加载配置优化
多模型加载时在loadModel的options参数中补充配置:createWireframe: false、loadInstanceTree: false(无构件树遍历需求时开启),搭配你已设置的skipPropertyDb: true,可大幅削减非几何类资源的加载开销,避免每个模型加载时触发的实例树、属性库初始化逻辑带来的重渲队列堆积。 - 批量加载时关闭自动重渲
启动批量加载前调用viewer.disableRendering(true)暂停自动渲染,待所有子模型全部加载、挂载到场景完成后,再调用viewer.disableRendering(false)手动触发一次全量重渲,彻底避免加载过程中的连续无效重渲。 - 几何复用/合并方案
- 若存在重复使用的族类子模型,不要重复调用
loadModel加载同一份SVF2资源:首次加载完成后通过viewer.model.getFragmentList().getGeometryMap()获取几何缓存,后续相同族的实例直接通过THREE.InstancedMesh创建多实例挂载到viewer.impl.scene,无需走完整的模型加载流程,内存和渲染开销可降低一个数量级。 - 若不需要对子模型做构件级交互,所有模型加载完成后调用
viewer.impl.mergeGeometry()将所有可见构件网格合并为单个大网格,渲染性能与Revit合并后转换的效果基本一致。
- 若存在重复使用的族类子模型,不要重复调用
- Viewer初始化参数调优
初始化Viewer时传入配置:
将几何缓存上限调整为2GB,批量加载阶段关闭渐进式渲染,避免渐进式渲染反复刷新帧导致的卡顿。performanceSettings: { maxCachedGeomBytes: 2 * 1024 * 1024 * 1024, progressiveRendering: false }
内容的提问来源于stack exchange,提问作者Paxton.Huynh
相关产品推荐
相关产品推荐

