- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 webgl 应用程序,并试图在它丢失后恢复 webgl 上下文,但似乎没有触发上下文恢复事件。
我正在运行以下代码,并期望根据 WebGL specification 记录“上下文丢失”和“上下文恢复”和关于 WebGL wiki 的文档.当我在 Chrome (50.0.2661.102 m) 和 Firefox (46.0.1) 的 jsfiddle 中运行下面的代码时,我看到记录了“上下文丢失”但没有记录“上下文恢复”,并且我在我的电子应用程序中看到了相同的行为.
var canvas = document.createElement( 'canvas' )
var gl = canvas.getContext("webgl");
var WEBGL_lose_context = gl.getExtension('WEBGL_lose_context');
canvas.addEventListener("webglcontextlost", function(e) {
log("context lost");
e.preventDefault();
}, false);
canvas.addEventListener("webglcontextrestored", function() {
log("context restored");
}, false);
WEBGL_lose_context.loseContext();
function log(msg) {
var div = document.createElement("pre");
div.appendChild(document.createTextNode(msg));
document.body.appendChild(div);
}
我是否需要做任何额外的事情来触发上下文恢复事件?我是否误解了 WebGL 规范?
最佳答案
在使用 WEBGL_lose_context
的情况下,您必须调用 WEBGL_lose_context.restoreContext()
。 WEBGL_lose_context
仅用于测试。在正常情况下,由浏览器决定何时恢复上下文。例如,如果您的选项卡不是前面的选项卡,而另一个选项卡需要所有 WebGL 内存,您的选项卡可能会丢失上下文事件。稍后当您的选项卡成为事件选项卡时,您最终将获得恢复上下文事件。
关于上下文丢失后 webglcontextrestored 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37186897/
我正在编写一个 webgl 应用程序,并试图在它丢失后恢复 webgl 上下文,但似乎没有触发上下文恢复事件。 我正在运行以下代码,并期望根据 WebGL specification 记录“上下文丢失
我想要使用 WebGL 在其上绘制的大量 HTML canvas。但是,如果我绘制超过 8 或 16 或类似的、取决于客户的数字,较早的数字就会消失。 基于WebGL wiki我认为对 webglco
我是一名优秀的程序员,十分优秀!