【发布时间】:2013-07-12 09:44:58
【问题描述】:
我发现这段代码可以在画布上绘制。在 Firefox 中它运行良好,但在最新的 Chrome 中性能不足。如果鼠标移动得非常快,则在 Chrome 中光标后面的画线。为什么?
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var width = window.innerWidth;
var height = window.innerHeight;
canvas.height = height;
canvas.width = width;
canvas.addEventListener('mousedown', function(e) {
this.down = true;
this.X = e.pageX ;
this.Y = e.pageY ;
this.color = rgb();
}, 0);
canvas.addEventListener('mouseup', function() {
this.down = false;
}, 0);
canvas.addEventListener('mousemove', function(e) {
if(this.down) {
with(ctx) {
beginPath();
moveTo(this.X, this.Y);
lineTo(e.pageX , e.pageY );
strokeStyle = "rgb(0,0,0)";
ctx.lineWidth=3;
stroke();
}
this.X = e.pageX ;
this.Y = e.pageY ;
}
}, 0);
【问题讨论】:
-
我似乎没有和你一样的问题。也许你的电脑的强度与它有关?
-
但是如果我的电脑速度很慢,为什么它可以在 Firefox 中运行?
-
在最新的 Chrome 上运行良好。
-
一个插件或类似的东西可能会减慢速度。例如,fps 仪表对性能的影响非常糟糕(似乎会产生相当多的垃圾并且需要太多时间进行绘图)。
-
我停用了所有插件,但仍然无法使用
标签: javascript html google-chrome canvas