Script Preparation code:
x
 
var img = new Image();
var canvas = document.createElement('canvas');
var resCanvas = document.createElement('canvas');
var isReady = false;
var frameRaw1 = null;
var frameRaw2 = null;
var result = null;
img.addEventListener('load', function() {
    createImageBitmap(img).then(function(imageBitmap) {
      frameRaw2 = imageBitmap;
      canvas.width = frameRaw2.width;
      canvas.height = frameRaw2.height;
      frameRaw1 = canvas.getContext('2d');
      resCanvas.width = frameRaw2.width;
      resCanvas.height = frameRaw2.height;
      result = resCanvas.getContext('2d');
      isReady = true;
    });
});
img.src = 'https://www.apple.com/105/media/us/airpods-pro/2019/1299e2f5_9206_4470_b28e_08307a42f19b/anim/sequence/large/01-hero-lightpass/0025.jpg';
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: 3 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Chrome 98 on Windows
View result in a separate tab
Test name Executions per second
canvas2d.drawImage(imageElement) 486.6 Ops/sec
createImageBitmap(imageElement) 22.9 Ops/sec