什么是Java2d更快的替代品?

我正在寻找一些物理模拟,我需要在Java中快速渲染。

我过去遇到过Java2d的性能问题,那么快速的选择是什么? JOGL明显比Java2d快吗?

我对Java2D的体验是,如果遵循规则,它可以非常快。 通过改变一些简单的东西,我有一个从90%CPU到低于5%CPU的应用程序。 例如,使用大型透明PNG是不行的。

一个非常好的资源是Java-Gaming.org论坛:很多人,包括Sun 2D专家,都在那里,为2D绘图提供了许多性能问题的示例和解决方案。

请参阅: http : //www.javagaming.org/ ,然后是“性能调整”主题。

JOGL可能比Java2D快得多,即使你只使用它来制作2D图形:正如Clayworth所说,它通常取决于你需要做什么。

我的猜测是,对于2D物理模拟,你有(纹理或非纹理)对象旋转和平移2个自由度,JOGL应该提供最佳性能,并且还可以轻松地提供可缩放的界面。 这是一个用于2D图形的OpenGL 教程 (C,但很容易适应JOGL)。

JOGL将比Java2D花费更多的时间来学习,但是实现良好的性能很可能不需要像Java2D那样的专门优化。

我不知道 – 在过去我会说是 – 特别是如果您使用显示列表而不是每次显示屏幕时通过API进行大量调用。 但是1.6 JVM的更新10增加了加速的Java2D图形,所以现在可能有优势。 确实唯一可以确定的方法是尝试在两者中渲染典型场景并进行测量。

另请参阅 Slick ,它基于LWJGL ,在某些方面类似于Java2D。 它使用OpenGL,因此速度更快。