【发布时间】:2011-06-08 20:51:12
【问题描述】:
我正在用 java 开发一个 2D 游戏。我们小组通常在Windows和Mac平台上进行开发。 游戏过程中没有出现任何问题,我们有一个60 fps 的恒定帧速率。
昨天我们在一台 Linux 计算机上运行我们的游戏,帧速率是每秒只有大约 10 帧!
有人听说过这样的事吗?在 Linux 上运行 Java 游戏时遇到问题? 在 Linux 上保持良好的帧速率?
我不知道我应该向您展示哪些代码行(目前超过 12000 行),以便您理解我的问题。 但我会尝试解释一些我们的概念,所以也许你知道一个解决方案,或者你可以给我们一个提示:)
我们构建了一个内容管理器服务,它加载并保存我们应该在 JFrame 上绘制的图像。通常我们使用 png 格式的图像。
非常简短的摘录:
//Load our images which are later drawn on the Frame
URL url = this.getClass().getClassLoader().getResource( the right image Path);
this.image = ImageIO.read(url);
//extract of draw
this.graphicsDevice.getGraphics().drawImage(ourImage, x , y , null);
我们同时有大约25个不同的图像,它们直接绘制在JFrame的图形设备上。
我对 Linux 没有任何经验,这就是为什么我无法理解糟糕的帧速率的根源。 (请记住,在 windows 和 mac 电脑上它是恒定的 62 fps,使用相同的代码:()
如果有人需要更多信息来提供帮助,我会尝试添加一些。
感谢阅读!
最好的问候 火龙
【问题讨论】:
-
系统上是否有实际的 JVM?您确定使用的是这个 JVM 而不是一些旧的实现吗?
-
你的测试机的显卡在 Linux 上的支持情况如何?您可能正在将帧速率与可以使用硬件加速/适当 OpenGL 驱动程序的 Windows 或 Mac 进行比较...
标签: java linux frame-rate