首页 > 解决方案 > 警告:“太多活动的 WebGL 上下文。最旧的上下文将丢失”(WebGLRenderer.js)

问题描述

在 Autodesk Forge Viewer 中,我无法在同一页面上实例化超过 6 个查看器 (Autodesk.Viewing.ViewingApplication)。

我尝试了这里提出的一个不起作用的解决方案: 此页面上有太多活动的 WebGL 上下文,最旧的上下文将丢失。[dedup.min.js]

我使用的功能:

Autodesk.Viewing.Initializer(options, function onInitialized(){
                this.viewerApp = new Autodesk.Viewing.ViewingApplication(this.div_id);
                this.viewerApp.registerViewer(this.viewerApp.k3D, Autodesk.Viewing.Private.GuiViewer3D, { extensions: ['PropertyInspectorExtension']});
                this.viewerApp.loadDocument(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
            }.bind(this));

显然,有一种方法*可以用 Three.js 做到这一点,但它是否以某种方式在 Autodesk Forge 中实现?否则我不知道自己该怎么做。

*Answers: 在一个页面中显示多个three.js 是否可以在THREE.js 中启用无限数量的渲染器?

*结果示例: https ://threejs.org/examples/webgl_multiple_elements.html

标签: webglautodesk-viewer

解决方案


我知道这是一种解决方法,但是您可以将此命令行开关与 Chrome 一起使用:

--max-active-webgl-contexts=<number>

当然,这只会为您解决问题,而不是其他任何人,但有时这就足够了。


推荐阅读