I have this problem as well. :S
I try to draw a part of an image using this code:
g.drawImage(Main.getImageCache().getImage("tileset_" + Main.getMapManager().getMapData().getTileset()), xPos, yPos, xPos + 64, yPos + 32, tileXOffset(firstTileImg), tileYOffset(firstTileImg), tileXOffset(firstTileImg) + 64, tileYOffset(firstTileImg) + 32, null);
The image is a VolatileImage. It draws the image good, it's too slow, using 50% CPU all the time while drawing 60-70 images.
EDIT: Sometimes it's using 0-5% CPU, sometimes using 50%. I profiled it when it using 50%, and I figured that the drawn method makes it that bad.
I create the VolatileImage as a TRANSCULENT image.
Anyone can help pls?
(I know I'm begging for help in my first post, but I'll be online. I love this site.)
Guys I tired to profile again, here is the result: