我正在编写一个Java 2D游戏。我正在使用内置的Java 2D绘图库,在从JFrame中的Canvas获取的BufferStrategy上绘制Graphics2D(有时全屏)。 BufferStrategy是双缓冲的。通过定时器主动进行重绘。然而,我在Linux系统上遇到了一些性能问题。
Java2D有非常多的创建图形缓冲区和绘图的方法,我不知道我是否在做正确的事情。我一直在尝试使用graphics2d.getDeviceConfiguration().createCompatibleVolatileImage,它看起来很有前途,但我没有实际证据表明如果我将绘图代码切换到该方法,它会更快。
根据您的经验,什么是在Java 1.5+中将2D图形渲染到屏幕上的最快方法?请注意,游戏已经相当进展,因此我不想完全切换到不同的绘图方法,比如OpenGL或游戏引擎。我基本上想知道如何以最快的方式使用Graphics2D对象向屏幕绘制图形。