17

我想做一些物理模拟,我需要用 Java 快速渲染。

我过去曾遇到过 Java2d 的性能问题,那么快速的替代方案是什么?JOGL 是否比 Java2d 快得多?

4

4 回答 4

11

我对 Java2D 的经验是,如果您遵守规则,它会非常快。只需更改一些简单的事情,我就有一个应用程序从 90% 的 CPU 变为不到 5% 的 CPU。例如,使用大的透明 PNG 是不行的。

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

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

于 2009-03-02T17:58:50.957 回答
5

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

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

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

于 2009-04-14T13:26:40.113 回答
4

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

于 2009-03-02T17:12:17.073 回答
2

另请查看基于LWJGL并且在某些方面类似于 Java2D的Slick 。它使用 OpenGL,因此速度更快。

于 2009-05-31T18:02:53.743 回答