0

使用 Windows 7 64 位计算机和支持不同刷新率的显示器:24hz、30hz、59hz、60hz。

我有一个小型 LWJGL 应用程序,将全屏显示模式设置为“1280 x 720 @60hz”

如果我当前的显示模式是“1920 x 1080 @30hz”并且我执行我的应用程序,我会得到一个 LWJGLException:

org.lwjgl.LWJGLException: Failed to set display mode (-2).

如果我将我的应用程序更改为将全屏显示模式设置为“1280 x 720 @30hz”,它就可以完美运行。

我只能更改与当前显示模式具有相同频率的全屏显示模式。在这种情况下为 30 赫兹。

我知道这不是我的电脑也不是我的显示器,因为我尝试了一些可以改变频率的电子游戏,但它们并没有崩溃。

可能是什么问题呢?我尝试了许多代码来更改显示,它们都得到相同的 LWJGLException。

谢谢你的时间。

4

1 回答 1

0

您可以通过调用GraphicsDevice.getDisplayModes()找到 Java 认为您的显示器支持的显示模式的完整列表。通常要求用户从此列表中进行选择,而不是假设支持特定的分辨率。如果确实要指定分辨率,则可以DisplayMode.REFRESH_RATE_UNKNOWN用作刷新率;然后它将选择显示器支持该分辨率的任何速率。

于 2013-03-25T17:17:48.513 回答