2

ゲームエンジンの仕事をしています。ウィンドウ モード、フルスクリーン モード、またはアプレット モードでゲームを作成できます。FPS は、アプレット モードとウィンドウ モードでは問題ありませんが (マップ内の最大 3000 オブジェクトで 90 ~ 120 fps が得られます)、フルスクリーン モードでは 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 は、DisplayMode クラスの定数である BIT_DEPTH_MULTI を示していることがわかりました。そのため、モードを設定すると fps が 60 ~ 70 fps に増加しましたが、それでもウィンドウ モードほどではありませんでした。

4

1 に答える 1

3

UbuntuでJava2Dはハードウェアアクセラレーションをまったく使用していますか? いくつかのJava 2d フラグ、特に OpenGL をオンにするものを見てください。

Windows では、デフォルトで Direct3D アクセラレーションが使用されます。Linux では、デフォルトでは OpenGL が取得されない-Dsun.java2d.opengl=trueため、JVM の起動時にコマンド ライン オプションを使用して有効にしてみてください。

于 2012-06-24T04:01:45.320 に答える