2

我一直在研究游戏引擎。它可以在窗口模式、全屏模式或小程序模式下创建游戏。FPS 在小程序模式和窗口模式下很好(给我 90-120 fps,地图中最多 3000 个对象),但在全屏模式下,它下降到 25-50 fps。这是窗口类。

https://code.google.com/p/game-engine-for-java/source/browse/src/com/gej/core/GWindow.java

找不到问题出在哪里。在 Windows 上运行更多是好的,但在 Ubuntu 上它有这个问题。列出显示模式给了我位深度 -1 这是我机器上的完整列表。

1600     900     -1
1440     900     -1
1440     900     -1
1280     800     -1
1280     800     -1
1152     864     -1
1024     768     -1
1024     768     -1
1024     768     -1
832      624     -1
800      600     -1
800      600     -1
800      600     -1
800      600     -1
640      480     -1
640      480     -1
640      480     -1
640      480     -1
720      400     -1

我发现位深度 -1 表示 BIT_DEPTH_MULTI,这是 DisplayMode 类中的一个常量。因此,设置模式将 fps 提高到 60-70fps,但仍不如窗口模式。

4

1 回答 1

3

Java2D 是否在 Ubuntu 上使用硬件加速?看看一些Java 2d 标志,尤其是那些打开 OpenGL 的标志。

在 Windows 上,默认使用 Direct3D 加速。在 Linux 上,默认情况下您不会-Dsun.java2d.opengl=true获得 OpenGL,因此请尝试在启动 JVM 时使用命令行选项将其打开。

于 2012-06-24T04:01:45.320 回答