Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Image vs ImageBitmap vs canvas with context2d
Testing draw calls using a raw Image versus an ImageBitmap vs canvas
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Browser:
Chrome 140
Operating system:
Linux
Device Platform:
Desktop
Date tested:
7 months ago
Test name
Executions per second
Image
1463529.0 Ops/sec
ImageBitmap
229427.1 Ops/sec
canvas
23191.3 Ops/sec
Script Preparation code:
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'); canvas2.width = 640; canvas2.height = 480; let canvas3 = document.createElement('canvas'); canvas3.width = 640; canvas3.height = 480; var ctx = canvas.getContext('2d'); var ctx2 = canvas2.getContext('2d'); var ctx3 = canvas2.getContext('2d'); var cv = document.createElement('canvas'); cv.width = 700; cv.height = 700; var cvx = cv.getContext('2d'); img.addEventListener('load', function() { cvx.drawImage(img,0,0); Promise.all([ createImageBitmap(img) ]).then(function(images) { imageBitmap = images[0]; doneLoading = true; }, false); }); img.src = 'https://1.bp.blogspot.com/-52MtzD0GfX0/WvP52CL1WjI/AAAAAAAAOVw/_OpK4JHeWK01d-7IiZ6vzojYGhXqLRXrACLcBGAs/s1600/EMxediL.jpg';
Tests:
Image
if (doneLoading) ctx.drawImage(img,0,0);
ImageBitmap
if (doneLoading) ctx2.drawImage(imageBitmap,0,0);
canvas
if (doneLoading) cvx.drawImage(cv,0,0);