はなげブログ
ゲーム
RTAのためのラグ検証(ブラウン管/液晶/キャプチャ/エミュレータ)
環境が少し変わった上に、ブラウン管テレビが手に入ったので、
応答時間の検証をもう一度することにしました。
キーを押してから画面に入力が反映されるまでの時間を測りました。
この時間は、コントローラー・ゲーム機の処理時間、ディスプレイへの入力から表示開始までにかかる時間(ディスプレイの入力遅延)、ディスプレイの表示開始から完了までの時間(ディスプレイの応答速度)を含むもので、この記事では応答時間と呼ぶことにします(注釈)。
応答時間はRTAをする上で考えるべき問題です。
問題1:練習と本番の違い
エミュレータで練習をして、本番では実機を使うという人がほとんどだと思いますが、
練習時と本番時で応答時間が異なる環境では、
せっかく練習で身につけたタイミングの感覚が、
本番の環境では早すぎる、遅すぎる、といった悲劇につながることがあります。
問題2:応答時間が遅いと不利になることがある
また、ランダムな画面上の動きに対して可能な限り速く判断や反応をしなければならない場合、
応答時間が速い環境でプレイした方が有利となります。
たとえば応答時間が97msecと遅い環境の人は、32msecといった速い環境の人よりも
およそ4フレームも古い映像を見てプレイしていることになります。
1000fpsで撮れるスーパースローカメラ(スピードカメラ)を使って
画面とコントローラを撮影しました。
※以下画像付きリンクのリンク先はAmazonです。広告にする代わりに製品画像の使用が許可されています。
使用したのはこれ
HI-SPEED EXILIM EX-FC150
この機種は今はもう生産していないが、
CASIOの1000fps撮影できるハイスピードエクシリムは
今でも新型が作られています(CASIO公式ページ)。
これらのカメラでも同様の検証が可能でしょう。
カタログスペックは1000fpsとなっていますが、
時計の針を撮るとわかりますが実際は999fpsでした。
したがって、集計の際には修正する必要があります(ミリ秒単位の差=フレーム数×1000/999)。
今回比較する条件は4つ。
CRT(ブラウン管)
スーパーファミコンをブラウン管テレビにS端子コンポジット接続。
テレビ:
TOSHIBA 15VS17
※PCとの2端子同時出力をすることを想定しているためS端子コンポジットで接続。
LCD(液晶)
スーパーファミコンを液晶テレビにS端子コンポジット接続。
テレビ:
PIXELA PRD-LA103-16W
※PCとの2端子同時出力をすることを想定しているためS端子コンポジットで接続。
キャプチャ
スーパーファミコンをUSBビデオキャプチャにコンポジットS端子接続。
USBビデオキャプチャをノートPC(液晶画面)に接続。
AmarecTVのプレビューに表示される映像を対象に検証。
AmarecTVの設定はこちら。
USBビデオキャプチャ:
I-O DATA GV-USB2
SNESGT
バージョンは0.230 beta 7。垂直同期ON。
ジョイパッド:
Buffalo BSGP801
【細々したこと】
使用した液晶はPWM調光式であったため最大輝度の設定にして撮影した。
SFCの超魔界村のステージ1の最初の柱の上でAボタンを押してから、アーサーが槍を投げる動作に入るまでの時間を測定した。ボタンは押下タイミングがわかるよう、素早く(しかし毎回同じ速さ・動きになるように)上から指を振り下ろした。指の先端が止まった瞬間をボタン押下、画面の槍が(少しでも)視認できた瞬間を画面反映とし、押下と反映の間のフレーム数を数えた。カメラが撮影するFPSが1000ではなく999であったことから、差分フレーム数に(1000/999)をかけた値をミリ秒単位の応答時間として算出した。
画面の更新周期(とコントローラのポーリング周期)の関係で応答時間にはバラツキが生じる。そのため、20試行測定を行い、その平均値をもって条件間の比較を行った。
1000ミリ秒=1秒。
60fpsのゲームの場合、1フレーム16.7ミリ秒。
標準偏差はバラツキの指標。レンジ=最大値-最小値。単位はミリ秒。
画面変化からのas soon asの反応が求められるならCRT一択。
実機でステートセーブ・ロードができるやつを入手すれば練習も効率的で最善の選択(?)
エミュで練習して本番は実機という場合は、
本番はCRTよりもLCDにつなげた方が練習環境に近いということになる。
しかし、以上は「私の環境では」の話なので、あくまでも参考程度に。
PCやモニター、ゲーム機、コントローラなどによって多少変わってくるはずである。
(注)
液晶ディスプレイのカタログに表記される応答時間について
今回測定したのは、コントローラからディスプレイまでを含めた環境全体の応答時間である。
液晶のゲーミングディスプレイなどのカタログで示される応答時間(1msecなど)は、
ディスプレイ自体の性能なので今回調べた応答時間の一部ではあるものの別物と考えて欲しい。
液晶ディスプレイの応答時間として示されている数値は、
画素の色の変化の速さを表すもので、残像の映りにくさを反映するが、
液晶はそもそも書き換えが始まるまでのラグが大きいため、
たとえディスプレイ自体の応答時間が1msecであってもCRTには及ばないとされている。
追記:2014/07/09
コンポジットとS端子を逆に書いていたため修正しました。
方法の詳細な手続きと結果の表を追加した。
液晶ディスプレイのカタログで表記される応答時間と混同を避けるため注釈を追加。
追記:2014/10/10
標準誤差じゃなくて標準偏差だったので修正。
応答時間の検証をもう一度することにしました。
キーを押してから画面に入力が反映されるまでの時間を測りました。
この時間は、コントローラー・ゲーム機の処理時間、ディスプレイへの入力から表示開始までにかかる時間(ディスプレイの入力遅延)、ディスプレイの表示開始から完了までの時間(ディスプレイの応答速度)を含むもので、この記事では応答時間と呼ぶことにします(注釈)。
応答時間はRTAをする上で考えるべき問題です。
問題1:練習と本番の違い
エミュレータで練習をして、本番では実機を使うという人がほとんどだと思いますが、
練習時と本番時で応答時間が異なる環境では、
せっかく練習で身につけたタイミングの感覚が、
本番の環境では早すぎる、遅すぎる、といった悲劇につながることがあります。
問題2:応答時間が遅いと不利になることがある
また、ランダムな画面上の動きに対して可能な限り速く判断や反応をしなければならない場合、
応答時間が速い環境でプレイした方が有利となります。
たとえば応答時間が97msecと遅い環境の人は、32msecといった速い環境の人よりも
およそ4フレームも古い映像を見てプレイしていることになります。
方法
1000fpsで撮れるスーパースローカメラ(スピードカメラ)を使って
画面とコントローラを撮影しました。
※以下画像付きリンクのリンク先はAmazonです。広告にする代わりに製品画像の使用が許可されています。
使用したのはこれ
HI-SPEED EXILIM EX-FC150
この機種は今はもう生産していないが、
CASIOの1000fps撮影できるハイスピードエクシリムは
今でも新型が作られています(CASIO公式ページ)。
これらのカメラでも同様の検証が可能でしょう。
カタログスペックは1000fpsとなっていますが、
時計の針を撮るとわかりますが実際は999fpsでした。
したがって、集計の際には修正する必要があります(ミリ秒単位の差=フレーム数×1000/999)。
今回比較する条件は4つ。
CRT(ブラウン管)
スーパーファミコンをブラウン管テレビに
テレビ:
TOSHIBA 15VS17
※PCとの2端子同時出力をすることを想定しているため
LCD(液晶)
スーパーファミコンを液晶テレビに
テレビ:
PIXELA PRD-LA103-16W
※PCとの2端子同時出力をすることを想定しているため
キャプチャ
スーパーファミコンをUSBビデオキャプチャに
USBビデオキャプチャをノートPC(液晶画面)に接続。
AmarecTVのプレビューに表示される映像を対象に検証。
AmarecTVの設定はこちら。
USBビデオキャプチャ:
I-O DATA GV-USB2
SNESGT
バージョンは0.230 beta 7。垂直同期ON。
ジョイパッド:
Buffalo BSGP801
【細々したこと】
使用した液晶はPWM調光式であったため最大輝度の設定にして撮影した。
SFCの超魔界村のステージ1の最初の柱の上でAボタンを押してから、アーサーが槍を投げる動作に入るまでの時間を測定した。ボタンは押下タイミングがわかるよう、素早く(しかし毎回同じ速さ・動きになるように)上から指を振り下ろした。指の先端が止まった瞬間をボタン押下、画面の槍が(少しでも)視認できた瞬間を画面反映とし、押下と反映の間のフレーム数を数えた。カメラが撮影するFPSが1000ではなく999であったことから、差分フレーム数に(1000/999)をかけた値をミリ秒単位の応答時間として算出した。
画面の更新周期(とコントローラのポーリング周期)の関係で応答時間にはバラツキが生じる。そのため、20試行測定を行い、その平均値をもって条件間の比較を行った。
結果
結果はミリ秒(msec)で示した(動画・グラフの縦軸・表)。1000ミリ秒=1秒。
60fpsのゲームの場合、1フレーム16.7ミリ秒。
平均 | 標準偏差 | 最小値 | 最大値 | レンジ | |
---|---|---|---|---|---|
CRT | 31.9 | 4.6 | 24.0 | 39.0 | 15.0 |
LCD | 67.5 | 4.7 | 60.1 | 75.1 | 15.0 |
GV-USB2 | 97.0 | 6.2 | 85.1 | 107.1 | 22.0 |
SnesGT | 73.8 | 4.1 | 65.1 | 81.1 | 16.0 |
結論
CRTはかなり速い。画面変化からのas soon asの反応が求められるならCRT一択。
実機でステートセーブ・ロードができるやつを入手すれば練習も効率的で最善の選択(?)
エミュで練習して本番は実機という場合は、
本番はCRTよりもLCDにつなげた方が練習環境に近いということになる。
しかし、以上は「私の環境では」の話なので、あくまでも参考程度に。
PCやモニター、ゲーム機、コントローラなどによって多少変わってくるはずである。
(注)
液晶ディスプレイのカタログに表記される応答時間について
今回測定したのは、コントローラからディスプレイまでを含めた環境全体の応答時間である。
液晶のゲーミングディスプレイなどのカタログで示される応答時間(1msecなど)は、
ディスプレイ自体の性能なので今回調べた応答時間の一部ではあるものの別物と考えて欲しい。
液晶ディスプレイの応答時間として示されている数値は、
画素の色の変化の速さを表すもので、残像の映りにくさを反映するが、
液晶はそもそも書き換えが始まるまでのラグが大きいため、
たとえディスプレイ自体の応答時間が1msecであってもCRTには及ばないとされている。
追記:2014/07/09
コンポジットとS端子を逆に書いていたため修正しました。
方法の詳細な手続きと結果の表を追加した。
液晶ディスプレイのカタログで表記される応答時間と混同を避けるため注釈を追加。
追記:2014/10/10
標準誤差じゃなくて標準偏差だったので修正。
投稿:2014/07/08 07:23
更新:2018/02/04 02:58
更新:2018/02/04 02:58
コメント(0)