thanks Ill look further into Volatile images. The reason why I was a bit dismissive of the idea was after reading stuff like this:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4498974Eg. Graphics2D will only be accelerated on linux using the OpenGL pipeline.
I went with java2d on purpose, because I want my game to be playable without a 3d card. I have experience using OpenGL for 2d (and 3d for that matter)
using lwjgl as well as using the native library directly from C.
I don't want to rely on acceleration but of course I won't actively hinder it either. Bitmask transparency not being noticeable quicker than translucent transparency just
had me a bit flabbergasted. Guess its because the underlying implementation supports X bit alpha channels and have no optimization for the 1bit alpha channel case.
Figured I might be doing it the wrong way hence this topic.
I apologize if my remark about creating the image every frame came off as arrogant, what I meant was that of course I don't convert it every frame

Kapta: I've been checking out Slick as well as the rest of Kevin's site. Great stuff and ill love to try it out for a future project but in this case it was a design goal
to stay with software rendering.
I'm used to doing 2d with libSDL and was expecting bitmask transparency to be as fast as opaque blitting (since there is no technical reason it couldn't be).

As of now I'm getting acceptable performance blitting the ground layer opaque and the other layers with bitmask transparency, but as you can see there aren't
that many transparent tiles in the screenshot.