我可以看看是否有其他浏览器窗口运行webgl?

时间:2014-07-30 08:32:45

标签: three.js webgl

我正在创建一个支持three.js的网站,在某些浏览器上(我正在看你的firefox),如果其他标签也在运行webGL,我的表现就会断断续续。

我想知道是否有办法找出(在浏览器中)其他标签是否正在使用webgl服务,以便我可以提醒用户。

我感谢所有评论!

1 个答案:

答案 0 :(得分:2)

那将违反安全规定,所以不,你不能这样做。

<强>更新

我只想补充一点,你可以加入stats.js(更有可能的是,你需要做一些非常相似的事情来确定stats.js正在做什么来了解的平均值帧速率就像并且在该性能中寻找下降),如果这种情况经常下降,则提醒用户。也就是说,您可能会错误地计算,并且总是有许多无法控制的变量会影响性能。其中大部分都可以通过浏览器重启来解决,特别是Firefox似乎没有在页面重新加载时释放其GPU内存。当内存已满时,性能会严重下降。

在任何情况下,您提供的任何警告都不应该以任何方式侵扰用户。

另请注意,正如我所知,正确编写的WebGL程序(按预期使用requestAnimationFrame)在选项卡处于后台时不会消耗很多计算资源,尽管这可能因浏览器而异。但是后台的选项卡仍会消耗内存(GPU内存,JavaScript代码和对象)。