   Speeding it up
  how do i speed things up here? or is image filtering to sepia always going to be slow? this is for a 2d tilebased game, and offscreen_gfx_2d is created from the volatile image.paintFrame(offscreen_gfx_2d);ImageFilter filter = new sushiSepia();Image filtered = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(volatile_image.getSource(), filter)); offscreen_gfx_2d.drawImage(filtered,0,0,null);
  The code you have is fairly high level, so there's really nothing that can be done to that particular code to speed things up. Really what we'd need to see is the implementation of the FilteredImageSource constructor, to know exactly how it performs the filtering operation, and where that might suggest some optimizations.[edit] I'm guessing you're using Java here, which probably means that the source code in question is not actually available or at the very least can't be changed. In this case, if the library-provided functionality is too slow, you may end up needing to roll your own.However, there are some possible alternatives - depending on what exactly your rendering system looks like, and how you go about drawing to the screen, it might be possible to get the same filter effect in a more efficient manner, e.g. via pixel shaders etc.   