如何判断现有站点是否正在使用 WebGL?

How to tell whether an existing site is using WebGL?

我正在尝试确定某个网站是否正在使用 WebGL。我很乐意使用 Chrome 的开发人员工具,但我不太确定我在寻找什么。我看到各种变量和名称中带有 "webgl" 的 类,但没有调用 initWebGL() 例如。

是否有可靠的、或许更简单的判断方法?

首先,正文中应该有一个 <canvas> 元素。如果不是,就不可能是WebGL。

其次,打开chrome调试器并按Ctrl+Shift F.如有必要,请在最底部展开搜索窗格。搜索 "bindBuffer"。您绝对必须绑定缓冲区才能使用 WebGL 执行任何操作。会用到的。

自最初的问题以来已经有一段时间了,但我想我会分享: 如果您使用 Chrome Dev Tools 中的 "Profile" 选项卡,并记录一两秒,您应该会在结果中看到名称为 "GPU" 的一行。如果 DOM 中有 <canvas/>,但它没有使用 WebGL,GPU 行将不会出现。

使用 WebGL

没有 WebGL

Google Chrome 版本 97 中这对我有用:

  1. 在 Chrome DevTools
  2. 中打开“元素”选项卡
  3. Select DOM 中的 <canvas> 要检查的内容,因此它旁边显示 == [=11=](请参见下面的屏幕截图)
  4. 在 Chrome DevTools
  5. 中打开“控制台”选项卡
  6. 输入 [=12=].getContext('2d'),当它显示 null 时,它是 WebGL 支持的 canvas,当它显示 CanvasRenderingContext2D 时,它是普通的 2D canvas

这里有一些可以尝试的网站:

WebGL Canvas - https://get.webgl.org/

非 WebGL Canvas - http://www.professorcloud.com/mainsite/canvas-nebula.htm

截图: