【问题标题】:Detect if webgl hardware acceleration is enabled检测是否启用了 webgl 硬件加速
【发布时间】:2018-11-02 18:18:47
【问题描述】:

有没有办法检测浏览器是否为 webgl 使用硬件或软件渲染?

如果启用了软件渲染,我不想显示 webgl 部分(它非常慢,最好使用占位符)

目前我正在考虑在页面加载时进行一些测试,并根据这些测试的性能设置一个标志。不过,这对我来说听起来有点不可思议,也许有更好的方法?

【问题讨论】:

  • 只是为了测试,我在 Chrome 中关闭了“硬件加速”:它向我展示了一个画布黑色背景 - FF 绘制了一些改变的颜色,但在 IE 中没有可见的效果,性能 (fps) 仍然相同。也许您可以尝试画布颜色比较测试,例如“WebGL Report”。但我相信每个浏览器在这里的表现都会有所不同。
  • 只是看看 - 你找到解决方案了吗@Davinel

标签: javascript browser webgl hardware-acceleration


【解决方案1】:

如果您使用的是 ThreeJS(我假设您这样做了),您可以随时查看:

Detector.webgl

如果为 false,则表示浏览器出于某种原因阻止了 WebGl 技术。换句话说,如果硬件渲染器可用,Detector.webgl 将评估为 true。

【讨论】:

  • 我确实知道如何检测 webgl 支持。问题是 - 如何检测软件/硬件渲染模式。
  • 这仅检测浏览器是否支持 WebGL。但是,浏览器可能正在为 GPU 使用基于 CPU 的慢速回退。这就是这个问题的意义所在:检测浏览器是否正在使用基于 CPU 的慢速回退。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 2022-12-10
  • 2016-08-22
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
相关资源
最近更新 更多