Test name | Executions per second |
---|---|
fillRect | 1459.8 Ops/sec |
1×1 Image Data | 276.8 Ops/sec |
<canvas id="c" width="800" height="300"></canvas>
$c = document.getElementById('c');
$ctx = $c.getContext('2d');
$ctx.clearRect(0, 0, 800, 300);
$px = $ctx.createImageData(1, 1);
$pxls = [];
for (var i=0; i<10000; ++i) $pxls.push({
x: Math.random() * 800 << 0,
y: Math.random() * 300 << 0
});
$i = 0;
$ctx.fillStyle = 'rgba(128, 128, 128, 1)';
for (var i=500;i--;){
var px = $pxls[$i++ % 10000];
$ctx.fillRect(px.x, px.y, 1, 1);
}
for (var i=500;i--;){
var px=$pxls[$i++ % 10000], d=$px.data;
d[0] = 128;
d[1] = 128;
d[2] = 128;
d[3] = 1;
$ctx.putImageData($px, px.x, px.y);
}