用渐变清除画布
而不是使用 clearRect
使所有像素透明,你可能想要一个背景。
用渐变清除
// create the background gradient once
var bgGrad = ctx.createLinearGradient(0,0,0,canvas.height);
bgGrad.addColorStop(0,"#0FF");
bgGrad.addColorStop(1,"#08F");
// Every time you need to clear the canvas
ctx.fillStyle = bgGrad;
ctx.fillRect(0,0,canvas.width,canvas.height);
这大约是 clearRect 0.004ms
的一半,但 400 万秒不应该对任何实时动画产生负面影响。 (时间会因设备,分辨率,浏览器和浏览器配置而有很大差异。时间仅供比较)