beatorajaはBMSプレイヤーとして非常に優れているが、設定を調整しないと快適に遊べない。
ここでは、beatoraja 0.8.5において私が行った設定について記しておく。
私の備忘録ではあるが、誰かの手助けになれば幸いだ。
なお、これらの設定は全て私の環境での例である。
PC環境は千差万別であるため、質問は受け付けていない。
わからないことがあれば、自身で調べるか、身の回りの詳しい知人に尋ねて欲しい。
■PC環境
OS:Windows 11 22H2(ビルド22621.2134)
MB:ASUS X570-F
RAM:DDR4 32GB
ディスプレイ:ASUS VG259(144Hz)
オーディオ出力:オンボードのデバイスにMicrosoft High Definition Audio ドライバをインストールしたもの
(下記の「①High Definition Audio Deviceにする」の項目を実行)
普段はオーディオ出力としてKomplete Audio 6を使用しているのだが、私の環境では上手く動作しなかった
コントローラー:PHOENIXWAN+
beatoraja本体の設定
■Videoタブ
・Display Mode:BORDERLESS
・解像度:自身のスキンや画面に合ったもの、今回はFULL HD
・垂直同期:チェックを外す
個人的な体感だが、beatorajaの垂直同期はかなり遅延する。
・MaxFPS:モニターのリフレッシュレートの4倍(今回は144*4=576)
開発者である両替侍様のpostより。
あとVSYNC OFFのFPS 0設定はGPUを限界まで使い切るので熱処理的に長時間起動には向かないと思う。ディスプレイのリフレッシュレートの4倍くらいあれば十分かと
— 両替侍 (@ryougae_samurai) 2020年4月7日
※なお、このままだとティアリングが酷く、まともにゲームを遊ぶことは困難である。
私の環境では、NVIDIAコントロールパネルの3D設定で、beatorajaに同梱されているjre/bin/javaw.exeの「垂直同期」を「高速」に設定すると快適に遊ぶことが出来た。
詳しい設定は後述する。
■Audioタブ
・Audio Output:PortAudio
私の環境ではOpenALは遅延がひどくまともに遊べなかった。
・Audio Driver Name:
以下のうちのどれか
ASIO4ALLを使いたい場合は別途インストールが必要。
Realtekなどのオンボードのサウンドデバイスを選んでも致命的な遅延は出ないので、ASIO4ALLを入れてまで遅延を減らすかは人によると思う。
▼ASIOを使用せず遅延を極力減らす場合:クリックで展開
(2023/09/05追記)OBS等の配信・録画ソフトで音を取りたいが物理的にループバック出来ない環境の場合は、Microsoft High Definition Audioをドライバとして適用したデバイスを選択するのが最良の選択肢になる(その場合、10msくらい遅延する)
この状態でも大半のユーザーは十分に遊べるはずだ。
更に遅延を減らしたい場合、以下に示した記事の「■2 REAL (REduce Audio Latency)の導入」を行うと、Realtekのサウンドデバイスの場合は2.66ms程度の遅延に抑えることが出来る。
INFINITASはASIOが使えないので、REALを使って遅延を減らそうとしているようである。
REALはインストールが不要で、beatorajaを遊ぶ前にただ起動すれば良いだけなので、こちらも一応選択肢として記しておく。
ただし、どうしても毎回起動しなければならないのがASIO4ALLに比べて面倒である。
(タスクスケジューラやスタートアップ登録、ショートカットの内容を工夫して解決すれば良いと思うが、そこまで出来る人はASIO4ALLインストールできそう)
追記終
-----
・オーディオバッファ:64 128
・同時発音数:128 256
※音が鳴らなかったりバグってしまう場合は、バッファを大きな値に設定すると良い
この2つは2のべき乗かつ小さければ小さいほど遅延が少なくなる(はず)だが、あまりに小さな値に設定すると、一部のキー音が鳴らなかったり、まったく音が再生されないなど、致命的な影響を及ぼすこともある。
自身のオーディオ周りの環境に合わせて調整して頂きたい。
2023/09/21追記
以前に記していた設定だと、sl8 WHIRLWIND[Wind Rush]などでバックのストリングスなど一部の音が鳴らなくなってしまう。
バッファ128/同時発音数256で正しく鳴ることを確認した。
低遅延を求めるあまり曲が崩壊しては元も子もない。
■Inputタブ
・最小入力間隔(ms):30
多重反応防止の為の設定。
高難易度をプレイしない場合、~60ms程度まで上げても問題無い。縦連が入らないと思ったら値を小さくする。
皿の感度に関する設定。小さくすると皿の入力停止までの時間が短くなる。
個人の好みの問題なので、各々で調整して頂きたい。
■NVIDIAコントロールパネルの設定
※beatorajaはJavaアプリケーションなので、同梱されているJREで動かす場合、実際に動作するのは/jre/bin/javaw.exeである。
※アンチエイリアス・テクスチャフィルタリングに関する設定は、全てパフォーマンスが向上するものに設定しておく。多すぎるので割愛。
・トリプルバッファリング:オフ
・低遅延モード:ウルトラ
・垂直同期:高速
・最大フレームレート:オフ
■キーコンフィグ
beatorajaはPHOENIXWANなどの専用コントローラーを接続しても、デフォルトの状態ではキーが割り振られておらず、ボタンが反応しない。
- ゲームを起動して、キーコンフィグのボタンを選択(MUSIC SELECTスキンによって異なる)
- 5KEYSのキーコン画面が出てくるので、キーボードの右矢印を押して7KEYSに移動(PMSなら9KEYS、DPなら14KEYSなど遊ぶ目的によって変わる)
- キーボードの上下矢印で割り当てたいキーに移動しながら、コントローラーのボタンを押してそれぞれ設定。
ちなみに、コントローラーにボタンを割り当てた場合、キーボードで操作できるのはSTARTとSELECTボタンのみとなる。
これはbeatorajaの仕様で、不正防止の一環らしい。
■おまけ:プレイ中に時々カクつく
結論から言うと解決できなかった。
以下の内容はカクつきを解決するために奮闘したものの、結局直せなかった意味のないものだが、何かの役に立つかもしれないので、折りたたんでおく。
クリックで展開
PCのスペックは十分足りているのに、時々譜面がカクつくことがある。
環境によって原因はバラバラだと思うのだが、私の環境では以下の設定を行った所で一旦落ち着いている(正直どれが決め手になったのかは判断がつかない)
javaw.exeのプロパティから以下の設定を行う
・全画面表示の最適化を無効にする。
・管理者権限で実行する(OBS等で録画する場合、OBS自体も管理者権限で実行しないとキャプチャできなくなるので注意)
※以下はセキュリティ設定を変更するので、何が起きても自己責任※
Windowsの設定→プライバシーとセキュリティ→Windows セキュリティを開く→ウイルスと脅威の防止→設定の管理(ウイルスと脅威の防止の設定)→下の方にスクロールしてから「除外の追加または削除」に以下の項目を追加する。
・beatoraja.jar(ファイル)
・beatoraja.jarが存在するフォルダ
・javaw.exe(この項目の設定はPCに関する知識が無い方にはオススメしない。仮想マシンプラットフォームの実行ファイルを除外対象に登録してしまうのは、セキュリティ的に問題がある)
2023/09/14追記
上記の設定を行ってもやはり時々カクつく。
ちなみにINFINITASも同様のスタッタリングを起こす。
AMD製CPUにはかつてファームウェアTPMのバグで、Windows11を実行中に時々スタッタリングするという事象が発生していた。
私のマザーボードのBIOSバージョンはそのバグを解消した後のものなのだが、未だに修正しきれていないのではないかと疑念を抱き始めた。
なので、マザーボード上に取り付けるディスクリートのTPMモジュールを別で購入し、そちらで試している最中だ。
またわかり次第こちらに追記する。
2023/09/16追記
TPMモジュールを取り付けてもやはり時々カクつく。
一応と言って良いのかは分からないが、スタッタリングの頻度は減少した。
やはりfTPMが何らかの問題を抱えていることは明らかで、AMDのソフト面を信頼してはいけないのは10年前から変わらないようだ。
肝心の頻度だが、2時間プレイして1回あるか無いかというレベルで、重たい譜面を遊んでいるときに起こると結構ストレスではある。
■終わりに
設定は以上になる。
最初にも言ったが、PC環境は人それぞれで、これらの設定が最適解ということはまずありえない。
あくまでこの記事は参考資料の1つに過ぎないので、各々で調整し、自分の設定を見つけて欲しい。
■更新履歴
▼クリックで展開
2023/07/03
初版
2023/08/22
LinuxやMacでも動くことを思い出したので、自分の環境にOS(Win11)を追記
キーコンフィグの項目を追記
プレイ中に時々カクつく問題に関して、悪あがきしたメモを追記
2023/09/03
Microsoft High Definition Audioについての補足を追加(他の方の記事をリンク)
2023/09/05
ASIO4ALLの代替案と補足を追加
2023/09/14
AMDのfTPMに起因する事象なのではと疑った話を追記。
2023/09/16
私の見識ではカクつきを改善できなかったので、解決策(大嘘)兼日記と化していた部分をを折りたたんだ
2023/09/17
見やすくなるように折りたたみ部分を追加
2023/09/21
オーディオバッファと同時発音数を修正(一部の曲で鳴らない音が発生してしまう為)
2023/12/03
オーディオIFのASIOドライバでも問題ないことを思い出したので追記
2023/12/11
ドライバの部分を少し見やすくなるように修正
2023/12/14
オーディオバッファの許容される最小値が環境によって異なるので注意書きを追加
2023/12/22
デバイスがASIO4ALLだとカクつく気がするので一時的に取り消し線を引いた、後日検証予定
ASIO4ALLは特に問題ではなかったので元の記述へ修正