MipMappedImageReference was (I assume) ported from a patch I submitted some time ago to improve image scaling quality. Unfortunately, the ported version does not implement the scaling in a way that actually improves quality. The javadoc even states (incorrectly) that
The main idea here is that small images are painted at smaller zoom levels which in theory speeds up the image paint time.
This was in fact not the main purpose. The main purpose was improved rendering quality of downscaled images. The original version derived each lower-res mipmap level from the previous level, scaling by a factor of two each time. The ported version always scales directly from the initial source image. This is potentially slower and defintely results in poorer image quality due to how Java2D implements image scaling.
See https://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html for details.
MipMappedImageReference was (I assume) ported from a patch I submitted some time ago to improve image scaling quality. Unfortunately, the ported version does not implement the scaling in a way that actually improves quality. The javadoc even states (incorrectly) that
This was in fact not the main purpose. The main purpose was improved rendering quality of downscaled images. The original version derived each lower-res mipmap level from the previous level, scaling by a factor of two each time. The ported version always scales directly from the initial source image. This is potentially slower and defintely results in poorer image quality due to how Java2D implements image scaling.
See https://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html for details.