创建 WebGL 上下文时出错。三个jschrome?

Error creating WebGL context. Three js chrome?

嗨,我收到了错误

Error creating WebGL context.
Uncaught TypeError: Cannot read property 'getExtension' of null

这发生在 google chrome 71,但我觉得很奇怪,因为如果我打开开发工具并刷新页面,它工作得很好,我不知道是什么原因造成的这有什么想法吗?

它一直运行良好,直到今天在 PC 或浏览器上没有任何变化。我的驱动程序都是最新的,webgl 已启用...

我会把这个留给其他人看,显然这是浏览器和显卡问题

mrdoob: The graphics card is only one of the reasons why the context can't be created

https://github.com/mrdoob/three.js/issues/4927

这似乎就是为什么除非其他人有任何其他想法... 问题仍在继续,尚未解决。知道为什么会发生这种情况,以及为什么打开开发工具并刷新可以为我解决问题。

编辑- 显然对我来说这是因为我的显卡因为旧而被列入黑名单。

如果您的系统上安装了两个 GPU,您可能想尝试启用 覆盖软件渲染列表 在 chrome://flags/

我只是想说我看到这个是因为我的应用程序中首先抛出的其他不相关的错误。

我的修复是在 Chrome 的功能标志下手动启用 WebGL 加速:chrome://flags/

通过简单地安装最新版本并重新启动我的浏览器,我就解决了这个问题 - 我想我会把它添加到这里,希望能拯救一些未来的灵魂,以免像我一样浪费一个小时。

我在 THREE.js 中遇到过几次。一旦内存资源被共享、放弃或不堪重负,它就会出现在我身上,例如:

  1. 我有一个很好的渲染循环,但后来我引入了长任务
  2. 我进行广泛、持续的测试。当我在 Chrome Inspector 中修改 live settings 时,THREE 并不能毫无例外地反映所有更改。在我重新启动之前,内存可能不会被释放。
  3. 离开程序运行过夜。第二天早上浏览器死机,黑屏,OOM...
  4. 我使用一个资源的多个实例,例如 网络音频和洋红色音乐。质量可能会明显下降,并且 throw its own errors, but...我也会遇到更糟的无语 错误。例如,当我还在另一个选项卡中播放音乐时,或者单击 audio/video Twitter 上的媒体...冻结浏览器、黑屏、WebGL 上下文丢失。

我更新了我的图形驱动程序 (NVIDIA),但没有重新启动 chrome 也没有重新启动 PC,并且遇到了这个问题。

刚刚重启电脑就可以了