如何在浏览器中启用 WebGL?

Tac*_*tex 122 browser webgl

我希望能够使用基于 WebGL 的站点,如 ShadertoyWebGL Earth等,但这些站点告诉我 WebGL 在我的浏览器中被禁用。我怎样才能启用它?

Tac*_*tex 210

我已将此答案设为社区 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 使用SwiftShader,这是一种软件 GL 光栅化器。”
    • 不可用- WebGL 在硬件或软件中不可用。

如果状态不是“硬件加速”,则检测到问题列表(在图形功能状态列表下方)可能会解释硬件加速不可用的原因。

如果您的显卡/驱动程序被列入黑名单,您可以覆盖黑名单。 警告:不推荐这样做!(请参阅下面的黑名单注释)。要覆盖黑名单:

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

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

火狐

首先,启用 WebGL:

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

然后检查 WebGL 的状态:

  • about:support
  • 检查Graphics表中的WebGL Renderer行:
    • 如果状态包含显卡制造商、型号和驱动程序(例如:“NVIDIA Corporation -- NVIDIA GeForce GT 650M OpenGL Engine”),则启用 WebGL。
    • 如果状态类似于 “由于未解决的驱动程序问题而被您的显卡阻止“您的显卡驱动程序版本被阻止”,那么您的显卡/驱动程序已被列入黑名单。

如果您的显卡/驱动程序被列入黑名单,您可以覆盖黑名单。 警告:不推荐这样做!(请参阅下面的黑名单注释)。要覆盖黑名单:

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

(与 Chrome 一样,Firefox在可用时使用硬件加速复选框,位于Preferences > Advanced > General > Browsing 中。但是,与 Chrome 不同的是,Firefox 不需要选中此复选框,WebGL 才能工作。)

苹果浏览器

  • 转到 Safari 的首选项
  • 选择高级选项卡
  • 确保选中在菜单栏中显示开发菜单复选框
  • 在 Safari 的Develop菜单中,选择Experimental Features子菜单并确保选中WebGL 2.0

笔记

升级显卡驱动

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

更多信息请点击这里:

黑名单

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

许多浏览器都有覆盖黑名单的选项(即:尝试使用列入黑名单的功能,尽管有风险)。 这是不推荐的!只有在您理解并接受风险的情况下,您才应该覆盖黑名单。

更多信息请点击这里:

  • 对于 Firefox,在 Ubuntu 上,我还必须重置 `gfx.crash-guard.status.glcontext`(参见 https://sourceforge.net/p/x3dom/mailman/message/34731616/)。我更喜欢在对此社区答案进行任何编辑之前发表评论。 (4认同)