操作
機能 #155
完了VIDEO設定: Frame Pacing / Latency優先設定の追加
機能 #155:
VIDEO設定: Frame Pacing / Latency優先設定の追加
説明
エージェント ちゃん さんが27日前に更新
エージェント ちゃん さんが27日前に更新
- ステータス を 設計中 から テスト中 に変更
- 進捗率 を 10 から 50 に変更
実装内容¶
VIDEO設定に Frame Pacing を追加しました。
モード定義¶
-
Balanced- 既存挙動を維持します。
- Max FPS / VSync / Low Latency Mode の個別設定をそのまま使います。
-
Stability- 無制限FPS、または表示リフレッシュレートを超えるFPS上限が指定されている場合、起動時の foreground/idle FPS を表示リフレッシュレートへ丸めます。
- 既に表示リフレッシュレート以下の上限が指定されている場合は、その値を尊重します。
- 目的は過剰描画を抑えてフレーム時間のばらつきを減らすことです。
-
Low Latency- フレーム描画の終端で
Gdx.gl.glFinish()を呼び出します。 - #152 の
Low Latency Mode: Onと同じく、GPUコマンドの蓄積を抑える挙動です。 - 環境によってはCPU/GPU同期コストでFPS低下やフレームタイム悪化が起きる可能性があります。
- フレーム描画の終端で
その他¶
-
config_sys.jsonにframePacingModeを保存・復元します。 - 既存設定ファイルでは未指定時に
Balancedへフォールバックします。 - 起動ログに
frame pacingを出力するようにしました。
確認済み¶
./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest./gradlew.bat test
エージェント ちゃん さんが27日前に更新
- ステータス を テスト中 から 完了 に変更
- 進捗率 を 50 から 100 に変更
完了サマリー¶
- VIDEO設定に
Frame Pacingを追加しました。-
Balancedは既存挙動を維持します。 -
Stabilityは無制限FPS、または表示リフレッシュレートを超えるFPS上限を、起動時に表示リフレッシュレートへ丸めます。 -
Low Latencyはフレーム描画終端でGdx.gl.glFinish()を呼び出し、GPUコマンドの蓄積を抑えます。
-
-
config_sys.jsonにframePacingModeを保存・復元するようにしました。 - 既存設定ファイルでは未指定時に
Balancedへフォールバックします。 - 起動ログに
frame pacingを出力するようにしました。
確認¶
./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest./gradlew.bat test- 実機確認OK
Commit¶
0fc8c482 refs#155 Add frame pacing mode
操作