On 3/26/2015 3:49 PM, Hendrik Schreiber wrote:
Hey there,

I'm in the process of moving some custom code to take advantage of the fairly 
new MultiResolutionImage capabilities.
Loading multi resolution stuff works nicely, but I fear drawing is a bit of a 
problem.

In my old mechanism, I would

- load images using the toolkit
- create a screen-compatible BufferedImage via 
graphicsConfiguration.createCompatibleImage(...)
- draw the image into said buffer
- and then paint the screen-compatible buffer when needed (typically in some 
Icon implementation)

The assumption here is that drawing the screen-compatible image is much faster 
than the toolkit image (which isn't necessarily screen-compatible, usually 
TYPE_INT_ARGB instead of TYPE_INT_ARGB_PRE).

AFAIK, there are no published java.* APIs for MultiResolutionImages.

So if I understand this correctly, there is currently no officially supported, 
high performance way to draw MultiResolutionImages.

Therefore, in the spirit of https://bugs.openjdk.java.net/browse/JDK-8059943, 
I'd like to suggest, to either move sun.awt.image.MultiResolutionImage to some 
java.* package, so that one can write an implementation that is fast.
There is an open discussion about it which you could join: http://mail.openjdk.java.net/pipermail/2d-dev/2015-March/005187.html
    JDK-8029339 Custom MultiResolution image support on HiDPI displays
        https://bugs.openjdk.java.net/browse/JDK-8029339

   Thanks,
    Alexandr.
Or provide a standard way to ensure that Toolkit-loaded images are 
screen-compatible. Perhaps a little tweak in sun.awt.image.ImageRepresentation 
or the code that calls it is all that's needed (i.e. a change of the default 
ColorModel in ToolkitImage). Or is that not possible because of compatibility 
reasons?

Does that sound reasonable? Am I missing something?

Thanks,

-hendrik

Reply via email to