帮助中心

当浏览器不支持3D字体时怎么办?

更新时间:2021-05-31 18:25

0. 检查浏览器 WebGL 支持度

甩一个 WebGL 支持检查的网站 WebGL Report,每一步之后都可以通过这个网站来查看操作是否成功。

1. 重装最新 chrome 浏览器

重装总是能解决90%的奇怪问题

2. 开启 chrome 硬件加速

打开 chrome 设置,『显示高级设置』,找到『系统』,在『使用硬件加速模式』选项前打钩。重启浏览器。

3. 开启 WebGL:--disable-webgl

打开 chrome://flags 面板(将这行字输入地址栏),ctrl/command + f 搜索『--disable-webgl』并启用该选项。重启浏览器。

咦?为什么我没有这个选项?!(请看下去)

How can I enable WebGL in my browser? 这个回答中明确说需要在 chrome://flags 中启用 --disable-webgl 选项,但是为何我的 chrome 中没有这个选项了呢?

其实是因为高版本的 chrome 对 WebGL 的支持已经非常成熟和稳定,在2015年8月的时候,这个选项被当做一个 bug 移除了(详见:https://bugs.chromium.org/p/chromium/issues/detail?id=525739),所以那之后发布的 chrome 浏览器就不再显示这个选项,webgl 是默认开启的,也就不需要手动『启用』了。

4. 查看浏览器显卡支持

如果以上方法都行不通,那就比较麻烦了。请继续看下去。

首先,你可以打开 chrome://gpu 查看显卡对浏览器特性的支持度,看看到底是那儿出了问题。Graphic Feature Status 中对 WebGL 一项的支持状态可能为:

  1. Hardware accelerated:WebGL 已启用,并获得了显卡支持

  2. Software only, hardware acceleration unavailable:WebGL 已启用,但没有显卡支持,只有软件渲染支持

  3. Unavailable:WebGL 既没有显卡支持也没有软件支持

WebGL 应用一般需要显卡加速,如果你的浏览器显示 WebGL 未获得显卡支持(即显示为后面两项)则你电脑的显卡可能进入了 chrome 的黑名单。

5. 显卡黑名单

有一些显卡和显卡驱动因为 bug 太多会导致浏览器崩溃甚至系统崩溃,所以很多浏览器都有一个显卡黑名单,对这些有问题的显卡和驱动,浏览器将不启用硬件加速。可以在 chrome://flags 中开启 --ignore-gpu-blacklist 来无视这个黑名单(不推荐,可能会引发浏览器崩溃或者系统崩溃)。chrome 的显卡黑名单在这里:BlacklistsAndWhitelists - WebGL Public Wiki

你的显卡是否被黑名单是根据你的显卡驱动版本来判断的,如果你发现你只要开启『覆盖软件渲染列表』就能使用WebGL应用很可能是因为你的驱动版本过低,推荐你先去看看你的显卡有没有可用的新鲜驱动,更新一下显卡驱动再回过头来把这个选项关闭,重启浏览器试试看是不是能正常开启WebGL应用。如果可以,那么恭喜你!你不需要再开启这个不保险的配置项啦!

5.1 换成Firefox 强行开启 WebGL


我发现在有些操作系统上(如xp),Firefox浏览器对显卡驱动的版本要求比Chrome低,也就是说,在这些系统版本是Firefox可能可以正常开启WebGL应用当Chrome不能够的时候。

Here Be Dragons

Type about:config in Firefox’s address bar and make the following changes:

  • To enable WebGL, set webgl.force-enabled to true.
  • To enable Layers Acceleration, set layers.acceleration.force-enabled to true
  • To enable Direct2D in Windows Vista/7, set gfx.direct2d.force-enabled to true

Now, cross your fingers, restart Firefox and try running a WebGL application. It’s probably best to undo those changes if smoke starts pouring from your PC.

以上来自:How to Enable WebGL for Blocked Graphics Cards in Firefox 这篇文章,关于如何在非常恶劣的情况下用火狐浏览器开启 webgl。是我在搜索 xp 是否支持 webgl 的时候找到的。翻译一下:

以下操作可能很危险!

在火狐的地址栏输入 about:config 进入设置页面,会出现一个⚠️警告页面,请仔细阅读,自己承担风险!

  • 开启 WebGL,把 webgl.force-enabled 设置成 true(双击即可)
  • 开启 Layers Acceleration,把 layers.acceleration.force-enabled 设置成 true
  • 开启 Direct2d 在 win vista 或 win7,把 gfx.direct2d.force-enabled 设置成 true

现在你应该可以使用 WebGL 了。