【发布时间】:2012-06-24 12:01:45
【问题描述】:
我一直在研究游戏引擎。它可以在窗口模式、全屏模式或小程序模式下创建游戏。 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,但仍不如窗口模式。
【问题讨论】:
-
如果窗口模式窗口与全屏“一样大”会怎样?
-
拉伸显示(使用窗口模式作为全屏)给我与全屏模式相同的 fps(图形需要缩放)
-
那你的问题是需要画更多。
-
@ColeJohnson 我只在地图中绘制可见对象。那怎么可能??这是我的地图课。 code.google.com/p/game-engine-for-java/source/browse/src/com/…
-
你说,如果窗口和屏幕大小一样,它就会滞后。这意味着您的卡无法处理绘制那么多对象。只画看得见的东西是一件非常聪明的事情。但除非你缓冲屏幕,否则没什么可做的。
标签: java fullscreen frame-rate