There've been some issues reported lately with image scaling, where resource usage on very large images has been huge (problematic for batch uploads from a high-resolution source). Even scaling time for typical several-megapixel JPEG photos can be slower than desired when loading up into something like the MMV extension.
I've previously proposed limiting the generatable thumb sizes and pre-generating those fixed sizes at upload time, but this hasn't been a popular idea because of the lack of flexibility and potentially poor client-side scaling or inefficient network use sending larger-than-needed fixed image sizes.
Here's an idea that blends the performance benefits of pre-scaling with the flexibility of our current model...
A classic technique in 3d graphics is
mip-mapping, where an image is pre-scaled to multiple resolutions, usually each 1/2 the width and height of the next level up.
When drawing a textured polygon on screen, the system picks the most closely-sized level of the mipmap to draw, reducing the resources needed and avoiding some classes of aliasing/moiré patterns when scaling down. If you want to get fancy you can also use
trilinear filtering, where the next-size-up and next-size-down mip-map levels are combined -- this further reduces artifacting.