【CSIIDX】beatmaniaIIDX INFINITASを快適にプレイする話2【遅延解消】
久々です。
サービス公開から5ヶ月?程度経過して、かなり曲数も増えたしPC設定のノウハウも煮詰まってきた感があるので、一旦まとめておこうと思います。
1月半ばくらいにINFINITASを動かす環境についてまとめた長ったらしい記事を書いたんですが、現状はまたちょっと変わっているので再まとめ。
JoyToKey設定ファイル
特に変更はありません。SELECT+4Key長押しのミリ秒を8000→3000に変えたくらい。
設定ファイルを使ってみたい場合はこちらをどうぞ。キーボードに一切手を触れること無く、専コンだけですべてのINFINITAS操作が完結します。
PGKさん家の環境構成・2
使うアイテムは同じですがちょこちょこメンテが入っています。
- 画面
- WindowsPC
- コントローラ
- 変換コンバータ
- JoyToKey
- 音声を外出しできるデジモノ
前提条件
最初にまず絶対外せない條件である各種遅延の解消について書きます。
御存知の通り、液晶テレビで音ゲームをプレイする際テレビ内では綺麗な画面描画をするためいろんな映像を綺麗に変換するよ処理を時間かけてやってます。綺麗な映像観せたいからね。そりゃそうだね。
これらの綺麗に表示する仕組みを全部取っ払って、とりあえず映像が来たら最速で表示するよモードがいわゆるゲームモードです。倍速処理の残像低減を切る、とかいうのもこれにあたるようです。REGZA37Z3に搭載されているゲームモードは、遅延が0.7フレームまで短縮されると謳われています。
実際のプレイでも明らかな画面描画の遅れは感じられないため、公表通りの値なんじゃないかと思われます(★12でMAX-バシバシ叩き出すみたいなウルトラハイレベルプレイヤーではないので、このへんは参考レベルで考えてください)
というわけで画面の遅延に関してはたぶん問題ないんですが、あと2つ遅延する要素が存在します。僕もテレビの映像描画遅延だけをなんとかすれば快適なINFINITASライフが遅れるだろうと思ってました。そりゃあねえ。でも甘かった
残りの2つというのは入力遅延、音声遅延(発音遅延)と呼ばれるもののようです。それぞれ専コンからの入力、パソコンからの音声出力をする段階で発生します
それぞれ入力遅延を1、音声遅延を2、描画遅延を3とするとこんな感じになります
- 鍵盤の入力情報をパソコンに送るときに、たぶんなんか複雑な処理してて遅れる。
- パソコンの音声情報をスピーカーから出すときに、たぶん綺麗な音にしようと処理して遅れる。
- テレビで画面を表示するときに、たぶん綺麗な映像にしようと処理して遅れる。
それぞれ1の入力遅延はコンバータの選定、2の音声遅延はスピーカーもしくはイヤホン・ヘッドホンの接続と発音用ソフトウェアの導入、3の描画遅延はモニタの設定で対処します。
画面
こんな高い買い物を何度もすんのは無理なんで、今まで通りREGZA 37Z3を使ってます。
設定はゲームモード、各種画面いじる設定はオフ。今までと変わりません。
よくよく考えたら、バックライトとか黒レベルとかを変更したところで倍速を切るか切らないかの処理に干渉してくるわけがないので、ゲームモードであるか否かだけを考慮すればいいんじゃないかと思います。3.描画遅延に関わってきます。
どんだけ設定をいじってもオブジェの残像を軽減できる数値は見つけられなかったため、このテレビ(REGZA 37Z3)を使っていく上では目の疲労にダイレクトに訴える残像と仲良くしていくしかなさそうです。こうすると遅延もなく残像もなくなるヨ!という設定をご存じの方はむしろ教えてほしいっす…
それ以上の改善を求める場合、倍速機能で残像対策がされたゲームモードとかいう存在するのかしないのかよくわからないミラクル機能を持ったスーパー液晶テレビを探す必要がありそうですが、テレビに詳しいわけではない僕はもう諦めました。
あと、つい先日に以下のような素晴らしい呟きがTwitter上でありました。
そういえばINFINITASって、画面のリフレッシュレートが異なると緑数字も変化するんですけど知ってた?(1枚目が60Hz、2枚目が59Hz(59.94Hz)) pic.twitter.com/75EwvYPnCy
— みの (@mino90h) 2016年4月14日
うわーマジか。まじかーここ今まで超テキトーに済ませてたよ。というわけで今までのうちのINFINITASはこうでした
よし60ヘルツだ!オッケー問題ないとふんぞり返ってプレーしてたんですが、これがINFINITASのアプリを立ち上げた瞬間にこう変わります
1280×720の解像度に変わるのは仕様なので問題ないんですが、
(^ω^;)59pヘルツに強制変更??????
(^ω^;;)おまえは何を言っているんだ
どうやら、モニタの状態が1280×720かつ60pヘルツになっていない状態でINFINITASのアプリを立ち上げると、強制的にINFINITASにおけるデフォルトの数値(1280×720、59pヘルツ)にアプリ側が設定を変更したうえで起動する仕様のようです。これはアプリを立ち上げる前に画面設定を1280×720と60pヘルツにしておけば回避できます、とのことでした。以下のツイートが非常に参考になりました、ありがとうございます
INFINITASを立ち上げて1280×720のフルスクリーンになった際に59.94Hzになっていることがある(ぼくの環境ではそうでした)ので違和感のある人は要チェック。あらかじめ1280×720の60Hzに設定してから立ち上げると回避できました。(ぼくの環境では)
— みの (@mino90h) 2016年4月22日
とりあえず、INFINITASやるモニタは1280*720にして、60pヘルツにしておけばオッケーだよ!ってことだと思います。
WindowsPC
ハードは今まで通りThinkpad E440です。
ここは2.音声遅延に大きく関わってきます。今までは、とりあえずテレビから音出そうとすると遅延するからスピーカー繋げばいいヨ!という知識しかなかったんですがどうもプレイしてて違和感を覚えまくり。交互連打を叩いてる最中、自分が左右どっちを叩いてるかよくわからなくなるんですね
どうしてこんな状況に陥るかというと、Windows8.1にデフォルトで搭載されているDirect Soundは仕組みがよくわかんねぇですけど発音遅延するらしいです。画面描画も遅れない、入力遅延も起こらない、でもプレイすると単発で叩くと普通に光るけどちょっと密度が上がると途端に叩く場所を見失うのはこれが原因っぽい。
で、Google先生に聞いたところASIOドライバというのを導入すればいいらしい。同じような機能のASIO4ALLってドライバを入れると良い、とのこと。以下サイトを参考にさせていただきました
設定とにらめっこしながら、バッファサイズを96?にしてみたところ、今までの設定なんだったんすかー!ってくらい劇的にプレイしやすくなりました。なんだこれすごい。感動した。
どれくらい衝撃的だったかっていうと、こんな感じww
ウワーーーーーーASIO4ALLスゲエエエエエエエ!!!!
— かっしー (@pijiikesaaaaaan) 2016年2月13日
ASIO4ALL導入してバッファサイズ96に落としただけで打鍵音と追随する音がシンクロするようになった。軒並み三桁スコア更新連発で楽しいビートマニアが帰ってきた… pic.twitter.com/cTXJgrqMtC
— かっしー (@pijiikesaaaaaan) 2016年2月13日
楽しすぎゲームか!?アーケードまじでいらんな???、? pic.twitter.com/eWmc7aZsZ9
— かっしー (@pijiikesaaaaaan) 2016年2月13日
みんなも導入してみよう。音遅延が無くなってめっちゃたのしいオウチマニアになるぞ。あとASIO4ALLが起動してないと意味ないっぽいのでスタートアップに入れよう。
あ、Windows10だとDirectSoundが遅延改善してる!ってどこかで見た気がするけどあんまりよくわかってません、ASIO4ALL入れなくても大丈夫なのかもしれません。
コントローラ
同じです。専コンです。以上。
コンバータ
ここは1.入力遅延に関わってきます。以下の2つを併用してました。
が、うちの環境ではJY-PSUAD11のほうが明らかに入力遅延がある!ということが判明してしまったので、もうひとつJY-PSUADR1を購入し両鍵盤ともコンバータを統一しました。
INFINITASで片側だけ入力遅延が発生する問題、JY-PSUADR1をもう一機発注し使ってみたところ、DBMのFASTSLOWがほぼ一致した。これは入力遅延解消と宣言していいだろうhttps://t.co/MdGuKCJsS2 pic.twitter.com/vYyYDc4VgU
— かっしー (@pijiikesaaaaaan) 2016年3月20日
左が対策後、右が対策前ね。両方共、Love Me Do DBMノーマル譜面。
1P側にJY-PSUAD11、2P側にJY-PAUADR1を使ってたんですが、明らかに1P側の反応が遅く、同時に打鍵してもSLOW祭り。コンバータを左右逆に変えると2P側がSLOW祭り…ということで、問題はコンバータにあり!となりました。
JY-PSUAD11はだいぶ前から使ってるやつだったんで、ひょっとすると経年劣化(するのか??)という線もあるかもしれませんが。DPやるにはメーカーだけでなくブツもちゃんと同じものを使っておいたほうがよさそうです。
マウスレート云々の情報も漁りましたが、あんまり効果がなさそうだったのとアンチウイルスソフトが反応するようなソフトウェアしか見つからなかったので調査を断念しました。導入は自己責任で。僕はやってません。
JoyToKey
特に変更はありません。SELECT+4Keyの長押し時間を変えたくらい。
SUD+も、皿上下で反応させる動きをSELECT押しながらの6Keyと7Keyで賄っているのでなんとかなると思います。
また、2月中旬のアップデートで白鍵盤のアサインに曲決定動作が、黒鍵盤のアサインにフォルダクローズの動作が割り当てられたようでどの白鍵盤を押しても\バァーン/できるようになりました。ナイス対応だ。新専コン専用のアサインが先行アップデートされちゃって入力系統がメテャクテャになっちゃったときはマジでどうしようかとおもいましたが
皿でSUD+変更とかハイスピ微調整をアサインしない理由ですが、そもそも専コンで細かい調整をしようとしても入力保持時間が長すぎて(緑数字で言うと、チョンと触れただけでも15くらい上下する)とてもじゃないが調整に使えないためです。
また、鍵盤アサインの変更が入った時なぜか皿上下移動の挙動が1回入力するごとに逆方向へ回るようになりました。何を言ってるかわからねーと思うが…
つまり、押し押し動作をすると、上→下とカーソルが動きます。同様に引き引き動作で下→上とカーソルが動きます。またこれは公式によると仕様とのこと。ちょっと現状では皿で曲セレするのは無理そうな気がします。従って、鍵盤で曲セレするようにしてます。
あと普通にプレイする人は絶対ひっかからない要素だと思うんですが、チャタリング抑制ソフトとか入れたままINFINITASプレイすると縦連打に対して無力化するのでちゃんと切っておきましょう。僕はハマりました。
音声を外出しできるデジモノ
これもそのままです。以下を使ってます
お気に入りのスピーカーを挿せばそれでオッケーだと思います。
まとめ
長過ぎるのでまとめると、
- 画面描画遅延解消のためにゲームモードのあるモニタを導入しよう
- 音声遅延解消のためにASIO4ALLを導入しよう
- 信頼性のあるコンバータを接続しよう。DPerは両方共同じやつを使おう
といったところです。これでみんなもたのしいレッツINFINITASライフを。
あと最後に重要なことを書くんですが、これらの対策を施すと非常に快適なINFINITASライフが送れるようになりますがAC IIDXの液晶筐体でプレイした時に判定調整に苦しみます。というか苦しみました。
INFINITASの調整完了後、しばらくオプションの判定タイミング調整をプラマイ0.0にしてプレイ(遅延がほぼ感じられないので当たり前ですね)し続けたところ、ACプレイでFASTしか出なくなりました。致命的です
9th、10th、DD、GOLD、DJTと遅延対策を地道に推し進めてきたAC IIDXのデバイスと発音に未だ遅延があるとは流石に考えにくい(と信じたい)ことから、ACとCSの音声&入力の遅延具合はほぼ同等と考え、画面の描画がACで遅れるのでは?と考えました。
※そういえばAC筐体のオブジェは残像感がビックリするほど少ないですし。残像感をギリギリまで抑えつつ、プレイに支障がないレベルにまで遅延対策をするという芸術的なチューニングがなされた特注モニタなのかもしれません。詳細はわかりません。
ただそんな状態でもACとCSで判定タイミングに差があることは間違いないので、無限にプレイしまくれるCS INFINITASの判定タイミングを変えます。うちのINFINITASプレイ環境ではマイナス1.4まで下げ、INFINITASをやり込んたところACでも違和感なく光るようになりました。(ちなみに、マイナス1.6でINFINITASやってたらACでSLOWばっかり出るようになりました)
INFINITASをやってるとACでFASTしか出なくなる!という状況に陥った人は、判定タイミングをAC想定でマイナス方向にズラすとうまくいくかもしれません。
久しぶりです。
小ネタですが、「緑数字÷1フレ(1/60)秒÷10=表示時間(秒)」となっていて、
ツイートの60Hzの場合は「1093÷1÷60÷10=約1.821666666666…秒」、
59.94Hzの場合は「1092÷1÷59.94÷10=約1.821821821821…秒」となります。
ということで、表示時間は約1.821秒でイコールになるみたいですね。
59.94hzのとき1092だと、「1092÷1÷59.94÷10=約1.823490156823…秒」になり
約0.001668335002秒ずれることになります。
まぁ1フレームが約0.0166(1/60)秒なので実際は1フレも違わない訳ですが、
それがフレームをまたぐ場合譜面のズレの原因になるのかもしれないですね。
どうもでーす
ってなんかめっちゃ難しそうな話きた!!!
3y3sLongみたいな長い曲を
プレイすると後半明らかなズレを感じる人がいるかもしれないし、いないかもしれない
って感じですね。
ただまあ、出来る限りの良環境を構築しておきたいってのは漢の浪漫じゃないですか(笑)