Санта клауза нету, но Гринч пришел в топик и ответил, спасибо XD Интересно то, что каждый из канвасов еще пару раз рисуется. Возможно тест на производительность какой то... На нойз тест попроще был бы, как раз нашел недавно себе:
function testKnownPixelValue(size, log){
"use strict";
const canvas = document.createElement("canvas");
canvas.height = size;
canvas.width = size;
const context = canvas.getContext("2d");
const imageData = new ImageData(canvas.width, canvas.height);
const pixelValues = imageData.data;
for (let i = 0; i < imageData.data.length; i += 1){
if (i % 4 !== 3){
pixelValues[i] = Math.floor(256 * Math.random());
}
else {
pixelValues[i] = 255;
}
}
context.putImageData(imageData, 0, 0);
const p = context.getImageData(0, 0, canvas.width, canvas.height).data;
for (let i = 0; i < p.length; i += 1){
if (p[i] !== pixelValues[i]){
log("wrong value", p[i], "at", i, "expected", pixelValues[i]);
return true;
}
}
return false;
}
testKnownPixelValue(10, console.log)