如何在浏览器中启用WebGL?


106

我希望能够使用基于WebGL的网站,例如 ShadertoyWebGL Earth等,但是这些网站告诉我,我的浏览器中已禁用WebGL。如何启用它?

Answers:


187

我已将此答案发布在社区Wiki上,因此,如果您发现任何过时或缺少的信息,请对其进行更新。


浏览器对WebGL的支持

检查caniuse.com/webgl以查看您的浏览器是否支持WebGL。


启用WebGL

如果您的浏览器支持WebGL,请按照以下说明启用它:

首先,启用硬件加速:

  • chrome://settings
  • 点击页面底部的高级▼按钮
  • 在“ 系统”部分,确保 选中“ 在可用时使用硬件加速”复选框(您需要重新启动Chrome才能使所有更改生效)

然后启用WebGL:

  • chrome://flags
  • 确保未激活“ 禁用WebGL”(您需要重新启动Chrome才能使所有更改生效)
  • 在较新的版本中,“ 禁用WebGL”的此选项将不可用,而您必须搜索看起来像这样的WebGL 2.0(或其他版本):

    在此处输入图片说明

    在这里,您必须更改DefaultEnabled下拉菜单。

  • [如果上面的方法不起作用,请尝试此操作]启用- 覆盖软件渲染列表

然后检查WebGL的状态:

  • chrome://gpu
  • 检查“ 图形功能状态”列表中的WebGL项目。状态为以下之一:
    • 硬件加速 -启用并加速了 WebGL(在图形卡上运行)。
    • 仅软件,硬件加速不可用 -已启用WebGL,但在软件中运行。有关 更多信息,请参见此处:“对于WebGL的软件渲染,Chrome使用SwiftGLder(一种软件GL光栅化器)”。
    • 不可用 -WebGL在硬件或软件中不可用。

如果状态不是“硬件加速”,则“ 检测到问题”列表(在“ 图形功能状态”列表下面)可以解释为什么硬件加速不可用。

如果您的图形卡/驱动程序已列入黑名单,则可以覆盖该黑名单。 警告:不建议这样做!(请参阅下面的黑名单说明)。覆盖黑名单:

  • chrome://flags
  • 激活“ 覆盖软件渲染列表”设置(您需要重新启动Chrome才能使所有更改生效)

有关更多信息,请参阅: Chrome帮助:WebGL和3D图形

火狐浏览器

首先,启用WebGL:

  • about:config
  • 搜索 webgl.disabled
  • 确保其值为false(任何更改都会立即生效,而无需重新启动Firefox)

然后检查WebGL的状态:

  • about:support
  • 检查“ 图形”表中的“ WebGL渲染器”行:
    • 如果状态包含图形卡制造商,型号和驱动程序(例如:“ NVIDIA Corporation-NVIDIA GeForce GT 650M OpenGL Engine”),则将启用WebGL。
    • 如果状态为 “由于未解决的驱动程序问题而导致您的图形卡被阻止“针对您的图形驱动程序版本被阻止”,则您的图形卡/驱动程序将被列入黑名单。

如果您的图形卡/驱动程序已列入黑名单,则可以覆盖该黑名单。 警告:不建议这样做!(请参阅下面的黑名单说明)。覆盖黑名单:

  • about:config
  • 搜索 webgl.force-enabled
  • 设置为 true

(与Chrome浏览器一样,Firefox 在“偏好设置” >“ 高级” >“ 常规” >“ 浏览”中具有一个“ 可用时使用硬件加速”复选框。但是,与Chrome浏览器不同,Firefox不需要选中此复选框以使WebGL正常工作。)

苹果浏览器

  • 转到Safari的首选项
  • 选择高级选项卡
  • 确保已选中“ 在菜单栏中显示开发菜单”复选框
  • 在Safari的“ 开发”菜单中,选择“ 实验功能”子菜单,并确保已选中WebGL 2.0

笔记

升级图形驱动程序

如果您的图形驱动程序太旧而无法支持WebGL,则可以升级它们。

更多信息请点击这里:

黑名单

某些图形卡和驱动程序已被某些浏览器列入黑名单,因为已知它们包含严重的错误或导致崩溃。在非常严重的情况下,这些甚至可能导致整个计算机死机!例如, 此问题 导致某些Mac计算机冻结并需要重新启动。

许多浏览器都有一个选项可以覆盖黑名单(即:尽管有风险,也要尝试使用列入黑名单的功能)。 不建议这样做!仅当您了解并接受风险后,才应覆盖黑名单。

更多信息请点击这里:


4
对于Firefox,在Ubuntu上,我还必须重新设置gfx.crash-guard.status.glcontext(请参阅sourceforge.net/p/x3dom/mailman/message/34731616)。我希望在对此社区答案进行任何编辑之前先发表评论。
ThomasG77

好吧,我拥有最新版本的Chrome(版本57.0.2987.133(64位))。但是在chrome:// flags上,我将“ WebGL 2.0 ...允许Web应用程序访问WebGL 2.0”更改为启用,我只剩下一个关于“ WebGL Draft Extensions”的内容。但是仍然在chrome:// gpu中,这两个版本仍然不可用。您提到了视频驱动程序,我怎么知道我是否支持它?我有一个Intel NUC DCCP847DYE
爱德华

刚尝试在kubuntu 16.04上访问webglearth.com。在Firefox 54和Vivaldi 1.10中进行了任何更改都可以正常工作。...情况确实持续好转。

奇怪的是,在Firefox 56(当前为夜间版本)中,WebGL无法正常工作,即使如上所述都正常。嗯
mlissner '17

似乎webgl.*Firefox 选项的文档记录很少。它们都是什么意思?这里是一些其他选项。
not2qubit

1

对于Chrome非常有用-除了可能最好澄清Disable WebGL选项-在Chrome中不明显。

必须禁用Disable WebGL(禁用WebGL)选项(强制性-双重否定),即,下面的链接必须显示“ Enable”(启用),这意味着禁用webGL处于关闭状态……可以节省几分钟的时间。

祝安迪

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.