put createImageBitmap() processing on the worker threads
I have seen this mentioned a few times on here: people being concerned with the main thread being blocked before the workers execute. This is true.
That big green bar is all of the calls to createImageBitmap() which then the results are passed to the workers which then, in parallel, resize the images.
The ultimate goal here, which I have seen by no library, is to do that work on the worker as well.
createImageBitmap() is asynchronous, but that does not mean it runs in parallel with the main thread. Once it is on the call stack: it hogs the call stack. Your page is frozen.
https://stackoverflow.com/questions/60439279/createimagebitmap-on-main-thread
I suggest, in the case of a File upload, a user can call readAsArrayBuffer() and be able to pass the ArrayBuffer (a Transferable Object) to the worker, where it is then processed as an image.