Javascript 检测软件与硬件webGL渲染模式
我试图用MapboxGL捕捉到一个错误,当IE版本将webGL渲染模式从硬件切换到软件时,该错误无法处理。我尽可能地查阅文档和控制台日志,但找不到任何文档化的方法来确定webGL是否使用硬件或软件渲染模式Javascript 检测软件与硬件webGL渲染模式,javascript,webgl,mapbox,mapbox-gl,mapbox-gl-js,Javascript,Webgl,Mapbox,Mapbox Gl,Mapbox Gl Js,我试图用MapboxGL捕捉到一个错误,当IE版本将webGL渲染模式从硬件切换到软件时,该错误无法处理。我尽可能地查阅文档和控制台日志,但找不到任何文档化的方法来确定webGL是否使用硬件或软件渲染模式 有什么想法吗?您可以使用检查浏览器是否可以在硬件渲染模式下运行GL JS if(mapboxgl.supported({failIfMajorPerformanceCaveat:true})){ //硬件模式!:D }否则{ //软件模式:( } 是否尝试使用{failIfMajorPerf
有什么想法吗?您可以使用检查浏览器是否可以在硬件渲染模式下运行GL JS
if(mapboxgl.supported({failIfMajorPerformanceCaveat:true})){
//硬件模式!:D
}否则{
//软件模式:(
}
是否尝试使用{failIfMajorPerformanceCaveat:true}创建上下文
捕获它?它在加载时执行,但在运行时不执行。因此,如果加载条件会严重降低性能,但在运行时发生问题,它将阻止您运行。这在加载时有效,但在运行时IE从硬件切换到软件时不会动态更改。@kamerob您尝试过重新初始化t吗画布上下文?我的意思是,没有浏览器会突然删除对任何仍在运行的对象的所有引用,如果这就是您所指的。
<script src='mapbox-gl-supported.js'></script>
<script>
if (mapboxgl.supported({failIfMajorPerformanceCaveat: true})) {
// hardware mode! :D
} else {
// software mode :(
}
</script>