Посмотрите на BufferCapabilities (и связанные с ним классы), а также графическую концепцию MultipleBuffering .
Кроме того, это, вероятно, не BufferedImage, что медленно, этокак конвейер рендеринга использует (или не использует) доступное аппаратное ускорение.
Если, случайно, вы создаете игру или другое приложение, для которого требуется высокоскоростной рендеринг, использующий преимущества аппаратного обеспеченияускорение в Java, вы бы хорошо начать с библиотеки, которая позаботится об этих деталях для вас, например Slick2D .
Еще одна приятная вещь в Slick2D - это то, что он кроссплатформенный и заботится о деталях производительности рендеринга, потому что реальный конвейер рендеринга меняется между платформами, версия JVMs, и аппаратное обеспечение (в зависимости от доступных функций, доступных в Java), и это просто много деталей и проб / ошибок, которые вы не хотите выяснять самостоятельно.БОЛЬШОЙ приемник времени.
LWGJL (библиотека, которая обеспечивает графическую производительность Slick2D) в основном полностью обходит Java2D, чтобы включить это.Там есть интересное чтиво, если вы хотите глубоко копать.