【问题标题】:Detect software vs hardware webGL render mode检测软件与硬件 webGL 渲染模式
【发布时间】:2017-01-18 03:46:18
【问题描述】:

当 IE 版本将 webGL 渲染模式从硬件切换到软件时,我正在尝试使用 MapboxGL 捕获一个错误,该错误无法处理。我一直在倾注文档和控制台记录几乎所有我能做的事情,但找不到任何记录的方法来确定 webGL 是使用硬件还是软件渲染模式。

有什么想法吗?

【问题讨论】:

  • 尝试使用{failIfMajorPerformanceCaveat : true} 创建上下文是否成功?
  • 它在加载时执行,但在运行时不执行。因此,如果加载条件会严重降低性能,它将阻止您运行,但如果在运行时发生某些事情,则不会。

标签: javascript webgl mapbox mapbox-gl mapbox-gl-js


【解决方案1】:

您可以使用the mapbox-gl-supported library检查浏览器是否可以在硬件渲染模式下运行GL JS

<script src='mapbox-gl-supported.js'></script>
<script>
if (mapboxgl.supported({failIfMajorPerformanceCaveat: true})) {
    // hardware mode! :D
} else {
    // software mode :(
}
</script>

【讨论】:

  • 这在负载下工作,但如果 IE 在运行时从硬件切换到软件,则不会动态变化。
  • @KameronB 您是否尝试过重新初始化画布上下文?我的意思是,没有浏览器会突然删除对仍在使用的任何对象的所有引用,如果这就是您所指的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
  • 2012-07-28
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多