2013-03-25 2 views
0

Использование 64-разрядного компьютера Windows 7 и монитора, который поддерживает различные частоты обновления: 24 Гц, 30 Гц, 59 Гц, 60 Гц.LWJGL не может изменить отображение, если это другая частота

У меня есть небольшое приложение LWJGL, который устанавливает режим полноэкранного отображения на «1280 х 720 @ 60Гц»

Если мой текущий режим дисплея «1920 х 1080 @ 30Гц» и я исполняю мое приложение, я получаю LWJGLException:

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

Если изменить мое приложение, чтобы установить режим полноэкранного отображения на «1280 х 720 @ 30Гц», он отлично работает.

Я могу изменять только режимы полноэкранного отображения, которые имеют одинаковую частоту текущего режима отображения. В этом случае 30ч.

Я знаю, что это не мой компьютер и мой монитор, потому что я попробовал несколько видеоигр, которые позволяют изменять частоту, и они не сбой.

В чем может быть проблема? Я пробовал много кодов для изменения отображения, и все они получают одно и то же LWJGLException.

Спасибо за ваше время.

ответ

0

Полный список режимов отображения, которые Java поддерживает ваш монитор, можно найти по телефону GraphicsDevice.getDisplayModes(). Типично попросить пользователя выбрать из этого списка, а не предполагать, что определенная резолюция поддерживается. Если вы хотите указать разрешение, вы можете использовать DisplayMode.REFRESH_RATE_UNKNOWN в качестве частоты обновления; он затем выбирает любую скорость, которую монитор поддерживает для этого разрешения.

+1

Вы вводите в заблуждение java.awt.DisplayMode с org.lwjgl.opengl.DisplayMode, но спасибо за ответ. У меня есть список со всеми «поддерживаемыми» режимами отображения. Вещь 90% составляет 60 Гц, остальные 24 часа, 59 Гц, 30 Гц. Поэтому, если пользователь имеет режим отображения, равный 30 Гц, и хочет изменить его на другой, который равен 60 Гц, приложение выйдет из строя. Поэтому, даже если я дам пользователю список с «только 30-часовыми дисплеями», у него не будет всех режимов отображения. Я хочу, чтобы пользователь выбирал любой дисплей с любой доступной частотой. –

Смежные вопросы