Optionally, use WebWorkers to render and load images.
Specifically, use https://github.com/GoogleChromeLabs/comlink to simplify WebWorker handling.
Consider transferring the "rendering canvas" to the offscreen worker using canvas.transferControlToOffscreen.