我正在使用Java和使用的BufferedImages制作游戏以将内容呈现到屏幕上。我在运行游戏的低端机器上遇到了性能问题,所以我转而使用速度更快的VolatileImage。除了他们实际上放慢了整个事情。Java:VolatileImage比BufferedImage更慢
使用GraphicsConfiguration.createCompatibleVolatileImage(...)创建图像,并使用Graphics.drawImage(...)(请参见后面的链接以了解具体哪一个)来绘制图像。它们使用双缓冲在画布上绘制。
有人知道这里出了什么问题吗?
我已经注意到了。 – Hardcoded 2010-04-21 15:15:34
如果你在显卡上的内存不足,它显然不会帮助。 IIRC,'BufferedImage'有一些加速,所以差距可能不如以前那么大。 – 2010-04-21 15:45:20
@Norswap:我真的觉得要找到一个好的答案在于找到一流的开源Java游戏(肯定有一些)或者一些伟大的Java演示(来自“演示场景”),并试图理解什么他们已经完成了。我很久以前就用非常*异乎寻常的硬件(如Amiga,SNES,模式13x等)编写游戏和演示程序,而且我仍然不知道如何在Java中正确“推送像素”。这再次成为Java“过度工程化”并且不必要的复杂的领域。我不会为这里的某个人屏住呼吸而能够真正帮助你。 – SyntaxT3rr0r 2010-04-21 16:20:04