Java paint speed relative to color model

Posted by Jon on Stack Overflow See other posts from Stack Overflow or by Jon
Published on 2010-03-26T22:47:17Z Indexed on 2010/03/26 22:53 UTC
Read the original article Hit count: 289

Filed under:
|
|

I have a BufferedImage with an IndexColorModel. I need to paint that image onto the screen, but I've noticed that this is slow when using an IndexColorModel. However, if I run the BufferedImage through an identity affine transform it creates an image with a DirectColorModel and the painting is significantly faster. Here's the code I'm using

AffineTransformOp identityOp = new AffineTransformOp(new AffineTransform(), AffineTransformOp.TYPE_BILINEAR);
displayImage = identityOp.filter(displayImage, null);

I have three questions
1. Why is painting the slower on an IndexColorModel?
2. Is there any way to speed up the painting of an IndexColorModel?
3. If the answer to 2. is no, is this the most efficient way to convert from an IndexColorModel to a DirectColorModel? I've noticed that this conversion is dependent on the size of the image, and I'd like to remove that dependency.

Thanks for the help

© Stack Overflow or respective owner

Related posts about java

Related posts about paint