「カプコン ファイティング コレクション」がリリースされたので全機種購入して入力遅延の比較を行いました。
入力遅延・インプットラグ
全10タイトルすべてを全機種で測定するのはキツい、てことで独断でCPS2代表「ヴァンパイア」、CPS3代表「ウォーザード」、さらにリクエストで「ハイパースト2」、「ヴァンパイアセイヴァー」「サイバーボッツ」を計測。
ヴァンパイア The Night Warriors(Darkstalkers: The Night Warriors)
途中で「ヴァンパイアセイヴァー」のほうが対戦人口多いよ!と教えてもらったので測定を中断。
ウォーザード(RED EARTH)
CPS3の初移植ゲーム。
ハイパーストリートファイターII (Hyper Street Fighter II)
ヴァンパイア セイヴァー The Lord of Vampire (Vampire Savior)
おまけでPS3「ヴァンパイア リザレクション」もやりました。
サイバーボッツ(CYBERBOTS -FULLMETAL MADNESS-)
Steam版の注意点
グラフをみてもらえばわかりますが、Steam版の入力遅延が0Fになっています。
当初は押したフレームで反応しているものだと思ったのですが、描画システムを考えると説明がつきません。
入力検知システムに問題がありそう・・と調べたのがコレ。
ここにラグがあることでどうなるのかというと・・
全体の入力遅延が大きいときはそれほど問題になかったのが、入力遅延が小さい場合ツールラグが大きくなり求めたい値を正しく取得できないということになります。(※わかりやすさのために①は0.5Fにしてますが、実際はこんなにラグはありません、念のため)
今まで計測してきたタイトルはそれなりに入力遅延があったため、問題が起こりませんでしたが今回の「カプコン ファイティング コレクション」は遅延が少なく問題が発生しました。
さらに
バグっぽい原因掴めた。
— kimagre gaming@ゲーム検証 (@kimagreGaming) June 25, 2022
233Fで既にゲーム内で弱パンチ入力入っていて
234Fでようやくツール側が押したことがに気づいている。
入力検知を早める方法はないかな・・?
シリアル通信だと厳しいかな・・?#inputlag#CapcomFightingCollection pic.twitter.com/gnXxTT9an0
1Fごと確認していくと入力検知システムに通知が行く前にゲーム側に反映されていることが判明。
入力検知システムが検知するのが遅すぎるということです。
なんとかできないかいろいろやったのが以下。
シリアル通信の高速化
あまり効果はありませんでした。
ツールのコントロールラベルの高速描画
リフレッシュレート依存?っぽいところまでは絞れました。
高リフレッシュレートで測定
今までは60Hzで測定してきたものを試しに120Hzでやってみたところ、より細かい数値を確認出来るようになりました。
ツールの高リフレッシュレート対応
60Hz固定だったのを120Hzや240Hzでも耐えられるように修正しました。
調査結果
高リフレッシュレート(240Hz)で測定すれば検出が出来そうという結果でした。
この結果をふまえて再計測。
新入力遅延検出システム(240Hz)で再計測
ハイパーストリートファイターII (Hyper Street Fighter II)
新入力遅延検出システム(240Hz)で再計測した「ハイパースト2」。
ヴァンパイア セイヴァー The Lord of Vampire (Vampire Savior)
新入力遅延検出システム(240Hz)で再計測した「ヴァンパイアセイヴァー」。
240Hzと書いていますが、240fpsで動作させていないので注意。あくまでツールの検出が240Hzなだけです。(ゲーム自体は60fps固定)
解像度による違いも出ると思って1080pと4Kでテストしてみましたが、結構違いが出ました。
解像度が低ければ遅延減るかも?と思い、480pでも計測してみましたが効果はなく1080pのときと一緒でした。
ということでリフレッシュレートもイジれる「XboxSeriesX」で3パターン試してみました。
コンソール機では「1080p120Hz」が一番入力遅延が少なかったです。
さらにわかったこととして出力リフレッシュレートが高いと遅延が減る、ということ。
ということでSteam版で解像度は一緒で出力リフレッシュレートを変えて計測してみました。
10回しかテストしてない雑検証ですが、おおまかには傾向をつかめた感じです。
リフレッシュレートが上がると遅延が減るのは善司さんが記事にしてくれていました。
でも私が計測したほど効果が出てなかったです・・
一応、私のところでもFrameViewで測定もしてみました。
高いリフレッシュレートほど「描画コールから表示されるまでの時間」は短くなっています。
「カプコン ファイティング コレクション」はconfing.iniにリフレッシュレートの設定がありますが、それを変えたことによって微妙に描画コール~表示までの時間に変化が見られました。
単純に上げればいい、というわけではなくモニタとPCスペックに合わせた最適な値を探る必要がありそうです。
自身の環境で最適な数値を探すのが、面倒な人はデフォルトの「60Hz」のままがいいと思います。
GUILTY GEAR -STRIVE-
以前検証した「GUILTY GEAR -STRIVE-」のSteam版が当時の計測では入力遅延が1Fだったので新システムで再計測してみることにしました。
検出精度が上がり、小数点以下を検出できるようになり入力遅延は1.75Fという結果でした。
ダブルバッファ+垂直同期(V-Sync)オフなら十分達成できそうな数値。
画像にも書きましたが、前回計測時のv1.09のほうがよかったわけではなく検出精度が上がった結果小数点以下がわかることになったと思ってもらう方がいいです。
ストリートファイターV(STREET FIGHTER V)
善司さんが検証していたスト5で私も再計測。バージョンはv07.003。
ゲームは60fpsで動かして出力リフレッシュレートを変えた場合。
かなり違いが出ました。
善司さんの結果と大幅に異なるのでとりあえず傾向をつかむためにタイトル数を稼ぐことに。
鉄拳7(TEKKEN 7)
あってるかわからない・・とツイートしたところ有識者のひとりである @WydD氏から連絡をもらう。
See my synthetic test that I did back it the day for more details https://t.co/JEMy7Y1y19
— Loïc *WydD* Petit (@WydD) June 30, 2022
どうやら WydD氏も「60fps固定ゲームを高リフレッシュレート(120Hz,170Hz)で動かした場合の計測」をしていて私と同じように効果がある、という結論のようでした。
間違った情報を拡散させていたらどうしよう・・と思っていたので非常に安心しました。
(WydD氏は自身の入力遅延検知システムを公開していて、私もそれを参考に自身の入力遅延検知システムを構築しました。言ってしまえば憧れの人。)
まとめ
「カプコン ファイティング コレクション」は全体的に入力遅延が少なく、よくできているレベルだと思います。(※PS5を除く)
特にSteam版は遅延が少なく、アーケード機とほぼ同じ感覚で遊べるのではないかと思います。(私は基板を持っていないので測定はできませんが)
私としては240Hzシステムの構築をするきっかけになったので感慨深いタイトルです。
【わかったこと】
- 出力解像度を下げると入力遅延は減る
- 出力リフレッシュレートを上げると入力遅延は減る
- 垂直同期(V-Sync)はオフ推奨
- ただし、減る具合はタイトルによって異なる
ずっと調べもので遊べていないので時間できたら遊びたいと思います。
カプコン (2022-06-24T00:00:01Z)
¥4,000 (中古品)
カプコン (2022-06-24T00:00:01Z)
¥3,800 (中古品)