Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Chrome 95
Mac OS X 10.15.7
Desktop
3 years ago
Test name Executions per second
Normal 22.9 Ops/sec
OffscreenCanvas 14.2 Ops/sec
Script Preparation code:
AخA
 
let canvas = document.createElement("canvas")
let width = 3460;
let height = 2160;
canvas.width = width;
canvas.height = height;
let canvas2 = new OffscreenCanvas(width, height)
let ctx = canvas.getContext('2d')
let ctx2 = canvas2.getContext('2d')
let imageData = new ImageData(width,height);
ctx.putImageData(imageData,0, 0);
document.body.append(canvas)
ctx2.putImageData(imageData,0 ,0)
window.ctx = ctx;
window.ctx2 = ctx2
window.width = width;
window.height = height;
Tests:
  • Normal

     
    ctx.getImageData(0,0, width, height)
    let imageData = new ImageData(1,1);
    ctx.putImageData(imageData,5,5);
  • OffscreenCanvas

     
    ctx2.getImageData(0,0, width, height)
    let imageData = new ImageData(1,1);
    ctx2.putImageData(imageData, 5,5);