【发布时间】:2009-12-12 13:37:45
【问题描述】:
我正在编写一个简单的游戏,并希望通过 Java Graphics + Swing API 来显示它。当然,感觉有点慢,所以我测量了重新绘制需要多长时间,大约是 32 毫秒。然后我阅读了有关加速 Java 图形的信息并使用了这里描述的方法:Space Invaders
但是,不知何故,这甚至更慢。现在重绘大约需要 98 毫秒。这是为什么呢?
请注意,我知道 LWGL 和 JOGL 之类的库,但我不想为这种图形简单的游戏使用成熟的 OpenGL 包装器。
【问题讨论】:
-
你能发布一些你的绘画代码吗?和时钟/定时器逻辑?
-
时钟/定时器逻辑只是通过 System.currentTimeMillis() 获得的两个 long 值的差。我知道这样测量时间不是一个好方法,但我只是想粗略估计一下需要多长时间。绘画代码只是将静态图像绘制到画布上。所以它只是 g.drawImage(img, 0, 0, null) 其中 g 是通过 BufferStrategy 变量获得的。