Hi when running at no limit i get 100 fps
when i run this code for every tile on my map (30x30) the fps drops to 8.
Is there a better way to brighten/shade Bufferedimages?
/* Draw the image with changed brightness, by using a RescaleOp.
Any alpha channel is unaffected. */
public void drawBrighterImage(Graphics2D g2d, BufferedImage im, int x, int y, float brightness) {
if (im == null) {
System.out.println("drawBrighterImage: input image is null");
return;
}
if (brightness < 0.0f) {
System.out.println("Brightness must be >= 0.0f; setting to 0.5f");
brightness = 0.5f;
}
// brightness may be less than 1.0 to make the image dimmer
RescaleOp brigherOp;
if (hasAlpha(im)) {
float[] scaleFactors = {brightness, brightness, brightness, 1.0f};
// don't change alpha
// without the 1.0f the RescaleOp fails, which is a bug (?)
float[] offsets = {0.0f, 0.0f, 0.0f, 0.0f};
brigherOp = new RescaleOp(scaleFactors, offsets, null);
} else // not transparent
brigherOp = new RescaleOp(brightness, 0, null);
g2d.drawImage(im, brigherOp, x, y);
}