当聚焦另一个窗口时,画布中的某些内容会消失

时间:2015-01-13 19:54:00

标签: javascript jquery html5 google-chrome canvas

我的代码是这样的:



(function() {
	var c = $('#board')[0].getContext('2d');
	$('#board').click(_tst);
	var _tst_idx = 0;
	function _tst(e) {
		c.fillRect(40 + (_tst_idx++) * 50, 40, 40, 40);
	}
})();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="board" width="500" height="500"></canvas>
&#13;
&#13;
&#13;

http://jsfiddle.net/u063s0s4/

只需单击画布并在其上绘制一个框即可。 但是,当我关注另一个窗口时,第二个框意外消失。 像这样:http://i2.tietuku.com/8398bd6aacc39e5d.png

我使用Chrome 39.0.2171.95/Win 7,我不知道这段代码有什么问题。

感谢。

============更多==================

我曾尝试使用Chrome的隐身模式或禁用所有扩展程序,第二个框仍然消失了。 但是代码可以在我的另一台计算机上运行。 那太奇怪了!

只有第二次渲染到画布才会消失。 所以我在init上使用这段代码来避免它:

(function(a,b){
    a(function(){
        b(0, 0, 1, 1);
        a(function(){
            b(0, 0, 1, 1);
        });
    });
})(requestAnimationFrame, c.clearRect.bind(c));

=============== more =============

当我禁用&#34;在可用时使用硬件加速&#34;在镀铬环境中,它变得很好。 我的GPU:NVIDIA 560TI

0 个答案:

没有答案
相关问题