错误:WebGL:对于此主体,超过16个活动WebGL上下文,失去最近使用的一个。

36

我有一个使用THREE.js包的JavaScript程序,我做了一些更改,看到了错误,并撤消了所有更改。

然而,下面的错误仍然存在:

Error: WebGL:此主体已超出16个实时WebGL上下文,丢失最近最少使用的上下文。

谷歌搜索没有找到有用的信息(只有16个结果!)。

任何人有任何想法是怎么回事吗?也许这个错误与我的脚本无关,而是与浏览器本身有关?


尝试将您的示例简化到仍然显示错误的最简形式,并在此处发布该代码。否则,猜测发生了什么就有点困难了。 - nils
这个错误无法重现。我只是将整个 JavaScript 代码复制到另一个文件中,没有做任何更改,然后在浏览器中打开它(在不同的标签页中),错误就消失了。也许浏览器中的特定标签页出了问题...?但无论如何,这似乎与 JavaScript 无关,而与浏览器有关... - Alex
4
在我的代码中,页面重新加载16次后会出现错误,我认为这与上下文的销毁有关。 - Fabio Iotti
2
我注意到了和@bruce965描述的相同行为。然而,问题仍然存在,如何清理地销毁旧的上下文? - q9f
1
我已经向@Afri提出了后续问题,因为我有兴趣找到避免此错误的方法。https://stackoverflow.com/q/54913836/2715716 - Tomáš Hübelbauer
3个回答

20
在我的情况下,解决方案就是关闭浏览器窗口,打开一个新的窗口并重新加载您的项目。仅当我在同一窗口中多次重新加载我的项目超过16次后,错误才会出现。

5
是的,在Firefox里重载了15次会出现那个错误 :D - deblocker

14

我在FireFox(55)中看到了这个错误,在我正在处理的一些小测试项目中也出现了这个问题。

我唯一发现的解决方法是关闭并重新打开FireFox,这让我相信在刷新页面时没有清除某些内容。我还注意到,将浏览器保持打开状态直至隔夜可能导致接下来的一天性能表现很差,直到我重新启动计算机。可能是Threejs问题或者在处理WebGL时FireFox(55)出现了问题。

在我继续工作的同时,我会继续调查这个问题。


2
可以确认,重新打开 Firefox 解决了我的问题。 - sdaau
我也遇到了这个问题,使用two.js(three.js的2D版本)。 - tscpp
在现代版本的Firefox(Linux)中,右键单击托盘图标可以让我选择“启动新实例”。这也解决了我的问题。 - trey-jones

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接