Java 2D Drawing Optimal Performance
A synthesis of the answers to this post, the answers to Consty’s, and my own research: What works: Use GraphicsConfiguration.createCompatibleImage to create images compatible with what you’re drawing on. This is absolutely essential! Use double-buffered drawing via Canvas.createBufferStrategy. Use -Dsun.java2d.opengl=True where available to speed up drawing. Avoid using transforms for scaling. Instead, cache scaled versions … Read more