I recently heard about how awesome VolatileImage's performance is. I decided to switch from BufferedImage to VolatileImage, but it made things a lot worse.
1000 images performance test with BufferedImage:
0.0 ms on average to render a frame
~500 FPS
1000 images performance test with VolatileImage:
1500.0 ms on average to render a frame - that's 1.5 seconds!
<1 FPS
I am using graphics.drawImage() for all rendering. I watched a tutorial on YouTube and my code was the same, yet still I got terrible performance.
I found this thread: Java : VolatileImage slower than BufferedImage and someone in the answers mentioned that it may be due to mixing accelerated and unaccelerated operations. How can I tell which operations are hardware accelerated and which are not? Why isn't everything accelerated for the best performance?