Script Preparation code:
x
 
var img = new Image();
var canvas = document.createElement('canvas');
var resCanvas = document.createElement('canvas');
var isReady = false;
var frameRaw1 = null;
      frameRaw1 = canvas.getContext('2d');
var frameRaw2 = null;
var result = null;
      result = resCanvas.getContext('2d');
img.addEventListener('load', function() {
    createImageBitmap(img).then(function(imageBitmap) {
      frameRaw2 = imageBitmap;
      canvas.width = frameRaw2.width;
      canvas.height = frameRaw2.height;
      resCanvas.width = frameRaw2.width;
      resCanvas.height = frameRaw2.height;
      isReady = true;
    });
});
img.src = 'https://fastly.picsum.photos/id/159/536/354.jpg?hmac=59u2RZ-L-Vjfrvsa9T21nZU7ylv03-EGGKErZCaf488';
Tests:
  • canvas2d.drawImage(imageElement)

     
    frameRaw1.clearRect(0, 0, canvas.width, canvas.height);
    frameRaw1.drawImage(img, 0, 0);
    result.drawImage(canvas, 0, 0);
  • createImageBitmap(imageElement)

     
    createImageBitmap(img).then(function(r) {
      frameRaw2 = imageBitmap;
      result.drawImage(frameRaw2, 0, 0);
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    canvas2d.drawImage(imageElement)
    createImageBitmap(imageElement)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Android 10; Mobile; rv:109.0) Gecko/113.0 Firefox/113.0
Firefox Mobile 113 on Android
View result in a separate tab
Test name Executions per second
canvas2d.drawImage(imageElement) 23966.4 Ops/sec
createImageBitmap(imageElement) 28878.2 Ops/sec