【发布时间】:2016-08-12 16:26:46
【问题描述】:
调用 canvas.getContext("webgl"); 会让 Chrome 触发“Rats!WebGL 遇到障碍”消息,但不提供任何信息。我该如何解决?
除了canvas.getContext("webgl") 返回null 之外,我没有得到任何其他信息,如果我自己不使用该设备,我什至不知道 Chrome 会失败并显示占据手机屏幕 25% 的消息,因为这会触发 no错误。
这是一个函数的一部分,它应该通过创建新画布并获取 webGL 上下文来测试是否支持 WebGL:
var webGLIsSupported = function() {
if (typeof window.webGLIsSupported !== 'undefined') {return window.webGLIsSupported;}
var canvas = $('<canvas></canvas>')[0];
var ctx;
try {
ctx = canvas.getContext('webgl'); // <- this triggers the message, and fails
}
catch (e) {
window.webGLIsSupported = false;
return false;
}
window.webGLIsSupported = !!ctx;
return window.webGLIsSupported;
};
我可以从哪里开始获取有关哪些内容不起作用的信息?没有任何日志真是令人沮丧。
将canvas.getContext('webgl') 更改为canvas.getContext('experimental-webgl') 没有任何区别。
我在三星 S6 上运行 Chrome 49.0.2623.105。
【问题讨论】:
-
您可以在收到消息后尝试前往
about:gpu。那里可能有日志消息。请务必在收到消息之前进行检查,并将之前的任何消息与之后的消息分开。如果您不介意,也将它们发布在这里。很想看看他们是什么
标签: javascript google-chrome debugging canvas webgl