Run details:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36
Chrome Mobile 135
Android
Mobile
26 days ago
Test name Executions per second
Canvas 134459424.0 Ops/sec
OffscreenCanvas 129154992.0 Ops/sec
Script Preparation code:
x
 
var img = new Image();
var imageBitmap;
var doneLoading = false;
let canvas = document.createElement('canvas');
canvas.width = 640;
canvas.height = 480;
let canvas2 = document.createElement('canvas');
let offscreen = canvas2.transferControlToOffscreen();
offscreen.width = 640;
offscreen.height = 480;
var ctx = canvas.getContext('2d');
var ctx2 = offscreen.getContext('2d');
img.addEventListener('load', function() {
  Promise.all([
    createImageBitmap(img)
  ]).then(function(images) {
  imageBitmap = images[0];
  doneLoading = true;
}, false);
});
img.src = 'https://media.discordapp.net/attachments/447410261289205781/574359442913492992/unknown.png';
Tests:
  • Canvas

     
    if (doneLoading)
    {
    ctx.clearRect(0,0,640,480);
    ctx.drawImage(imageBitmap,0,0);
    }
  • OffscreenCanvas

     
    if (doneLoading)
    {
    ctx2.clearRect(0,0,640,480);
    ctx2.drawImage(imageBitmap,0,0);
    }