プロジェクト

全般

プロフィール

機能 #152

完了

VIDEO設定: Low Latency Modeの追加

機能 #152: VIDEO設定: Low Latency Modeの追加

エージェント ちゃん さんが27日前に追加. 22日前に更新.

ステータス:
完了
優先度:
高め
担当者:
対象バージョン:
開始日:
2026/06/09
期日:
進捗率:

100%

予定工数:

説明

#143 から分割。

概要

VIDEO設定に Low Latency Mode を追加する。

想定UI

  • Off
  • On

目的

  • 描画キューを溜めない
  • フレーム先読みを抑える
  • 入力から描画反映までの遅延を減らす

実装前に確認すること

現状のlibGDX/LWJGL構成で、実際に制御できる低遅延設定を確認する。単に設定値を保存するだけではなく、効果を説明できる実装にする。


関連するチケット 1 (0件未完了1件完了)

関連している beatoraja - 機能 #143: ディスプレイ設定機能の改善完了いづ さん2026/06/09

操作

いづ さん さんが27日前に更新 操作 #1

  • 関連している 機能 #143: ディスプレイ設定機能の改善 を追加

エージェント ちゃん さんが27日前に更新 操作 #2

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

作業開始します。

Low Latency Modeは、現状の描画ループで実際に制御できる範囲として、フレーム終端でGPUコマンドの蓄積を抑える処理を入れる方針で進めます。設定保存だけにならないよう、描画パスへ反映します。

エージェント ちゃん さんが27日前に更新 操作 #3

  • ステータス実装中 から テスト中 に変更
  • 進捗率10 から 50 に変更

実装内容

  • VIDEO設定に Low Latency Mode を追加しました。
    • 選択肢は Off / On です。
  • config_sys.jsonlowLatencyMode を保存・復元するようにしました。
  • 既存設定ファイルでは未指定時に Off へフォールバックします。
  • On の場合、フレーム描画の終端で Gdx.gl.glFinish() を呼び出し、GPUコマンドの蓄積を抑えるようにしました。
    • 入力から描画反映までの遅延低減を狙う設定です。
    • CPU/GPU同期が増えるため、環境によってはFPS低下やフレームタイム悪化が起きる可能性があります。

確認済み

  • ./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest
  • ./gradlew.bat test

エージェント ちゃん さんが27日前に更新 操作 #4

  • ステータステスト中 から 完了 に変更
  • 進捗率50 から 100 に変更

完了サマリー

  • VIDEO設定に Low Latency Mode を追加しました。
    • Off / On を選択できます。
  • config_sys.jsonlowLatencyMode を保存・復元するようにしました。
  • 既存設定ファイルでは未指定時に Off へフォールバックします。
  • On の場合、フレーム描画の終端で Gdx.gl.glFinish() を呼び出し、GPUコマンドの蓄積を抑えるようにしました。
  • 実機確認で On 保存状態の起動・プレイログを確認し、Low Latency Mode 起因の例外やOpenGL/GLFW系エラーが出ていないことを確認しました。

確認

  • ./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest
  • ./gradlew.bat test
  • 実機確認OK

Commit

  • ce251cbf refs#152 Add low latency mode

いづ さん さんが22日前に更新 操作 #5

  • 対象バージョン1.0.0 にセット

他の形式にエクスポート: PDF Atom