Indeed, for some operations Java2D does create an intermediate buffer.
Can you describe the problem a bit more? What's the size of the images being created? Are you seeing a lot of garbage collection (run the app with -verbose:gc), is it affecting your framerate (increase the default amount of heap to see if it helps)?
The best solution, of course, would be to avoid operations which use intermediate image if possible, or at least, limit the amount (use cache, for example, so you won't have to re-render something on each frame).
Here is a better description of the situation:
I'm using a cauldron image (for an halloween game).
I have 2 differents images: one with the cauldron filled, and another with the cauldron empty.
While playing the game you fill the cauldron, there I use a setClip method to display only a part of the filled cauldron over the empty cauldron.
Since I need pixel precision I definitly can't render 200 differents images of the cauldron.
I guess there is a way to create a extended version of Image object on wich I could set a percentage (like setFill( 0.5f ) and the image will just display the rows I need without recreating a whole new image.
To do this I believe I need to work with the image consumer/producer technics, wich I'm not familiar with..
This is why I need some help
(and btw, to answer your question, the gc kick often enough to regulary increase the java heap size significantly).
The game need to be an applet at the end (1.1) so I can't use anything fancy.
Thanks for your time.