0

Windows 7 64 ビット コンピューターと、さまざまなリフレッシュ レート (24hz、30hz、59hz、60hz) をサポートするモニターを使用する。

全画面表示モードを「1280 x 720 @60hz」に設定する小さな LWJGL アプリケーションがあります。

現在の表示モードが「1920 x 1080 @30hz」で、アプリケーションを実行すると、LWJGLException が発生します。

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

フルスクリーン表示モードを「1280 x 720 @30hz」に設定するようにアプリケーションを変更すると、完璧に動作します。

現在の表示モードと同じ頻度の全画面表示モードしか変更できません。この場合は 30hz です。

周波数を変更できるビデオゲームをいくつか試しましたが、クラッシュしませんでした。

何が問題なのですか?表示を変更するために多くのコードを試しましたが、それらはすべて同じ LWJGLException を取得します。

御時間ありがとうございます。

4

1 に答える 1

0

GraphicsDevice.getDisplayModes()を呼び出すことで、モニターがサポートしていると Java が認識している表示モードの完全なリストを見つけることができます。特定の解像度がサポートされていると仮定するのではなく、このリストから選択するようユーザーに求めるのが一般的です。解像度を指定したい場合はDisplayMode.REFRESH_RATE_UNKNOWN、リフレッシュ レートとして使用できます。次に、その解像度でモニターがサポートするレートを選択します。

于 2013-03-25T17:17:48.513 に答える