I am writing a simple applet that is an interactive animation. IIf I want my applet to look good (aka draw images and use a fade-to-black effect) how can I achieve this without a serious performace hit? I know that flash is capable of doing this easy and fast. How can I optimize java graphics techniques so that I dont run at a measily 15 fps?

I am currently using a BufferedImage as a back buffer. I am trying to make an after-image/fade effect as follows: Each time through the render loop I take all pixels in the back buffer and scale them down by a %, capping them at 0 so that each pixel will eventually fade to black. After calling the fade, I then update my image by drawing it in it's new location. I've pretty much noticed that the fading is what is causing the big slowdown. The problem is that it doesn't seem like it would be very costly to do one operation on each pixel in the back buffer. Is there a faster way to do this?? Is there some reason why using setRGB(...) is really slow?