我听说 Java2D 在幕后使用 OpenGL 进行渲染,我想知道是否值得为我的程序使用 JOGL 以及它的所有本机库,这只是一个 2D 横向滚动条。我听说您必须使用某些技术和需要避免的场景以确保正在使用硬件加速,但我不知道它们是什么(嗯,我知道一些,但我还没有找到它们的完整列表。)。
6684 次
4 回答
5
作为使用 LWJGL 在 Java 中共同开发2D 休闲游戏的人,如果您要制作休闲游戏,我建议不要使用 LWJGL 或 JOGL。
优点:
- 简化引擎编写:OpenGL 具有高填充率,这意味着您可以每帧重绘屏幕。
- 酷的 3D 效果的可能性。
缺点:
- 所有用户都需要有一张 3D 卡。
- 所有用户都需要安装 OpenGL 驱动程序。Windows 7 未安装任何 OpenGL 驱动程序(在 Google 上查找“像素格式未加速”以查看其带来的乐趣)。
- 3D 卡会消耗电池电量,尤其是在旧笔记本电脑上。人们经常在笔记本电脑上玩休闲游戏,所以这可能是个问题。
- 小程序需要额外的权限才能使用 3D 卡。这会导致一个可怕的权限对话框,用户必须点击才能玩您的游戏,除非您愿意购买 500 美元的证书。
我的建议是使用像PulpCore这样的 Java2D 渲染和动画框架来开发您的游戏。我希望我们有。
于 2011-03-21T00:22:10.373 回答
5
您可以使用一些库将 Java2D 绘制到 OpenGL 中。GLG2D(我的图书馆)这样做。它依赖于 JOGL 并将所有 java.awt.Graphics2D 调用转换为 OpenGL 调用。
画线,尤其是曲线,在 Java2D 中可能非常慢。
于 2011-10-05T17:18:40.423 回答
3
简短的回答,不。Java2D 上的膨胀层太多了,因为它几乎与 LWJGL 或 JOGL 应用程序一样快。
于 2011-03-20T21:45:37.360 回答
0
您可以在 Java2D 中启用硬件加速,但即使在这种情况下,它仍然比任何用于 OpenGL 的 Java 绑定(JOGL、LWJGL)都慢(有时甚至有问题)。如果您想要两全其美,请查看上面 Brandon 建议的 GLG2D。请记住,Java2D 是高级 API,而 JOGL 是低级绑定。您可以使用依赖于这些低级 OpenGL 绑定的高级 API,例如 JGame、Slick 和 LibGDX。
于 2011-11-03T10:39:48.863 回答