用漸變清除畫布

而不是使用 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 萬秒不應該對任何實時動畫產生負面影響。 (時間會因裝置,解析度,瀏覽器和瀏覽器配置而有很大差異。時間僅供比較)