Run details:
Mozilla/5.0 (Linux; Android 10; MI 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36
Chrome Mobile 90
Android
Mobile
4 years ago
Test name Executions per second
Normal 18.0 Ops/sec
OffscreenCanvas 17.6 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);