Can we reuse the canvas please? Creating a new canvas makes Gecko internally allocate the image-size every time, which I think we could avoid.