PC Gaming Latency Tester


スポンサードリンク




ハイリフレッシュレートなゲーミングモニタのレビューで重要な表示遅延を簡単かつ正確に測定するため、表示遅延測定ツール「PC Gaming Latency Tester」をワンオフで特注しました。
ゲーミングモニタ、高RRディスプレイ搭載ゲーミングモバイル、ビデオキャプチャなど
今後、当サイトで執筆するレビュー記事で使用するので参考文献的に紹介します。
PC Gaming Latency Tester review_02652_DxO


表示遅延について

まず大前提、”表示遅延”とは何かというと、マウス・キーボード・ゲームパッドを操作してから、その操作がディスプレイ表示に反映されるまでの時間のことです。
表示遅延は、マウスやキーボードなど入力機器を操作してからPCへ信号が送信されるまでの”入力機器遅延”、入力機器の信号を受け取ってからディスプレイへ信号を出力するまでの”PC処理遅延”、ディスプレイが信号を受け取ってから画面に反映されるまでの”ディスプレイ表示遅延”の大きく3つに分けられ、これらを合わせて”システム表示遅延”と呼びます。
この辺りのさらに詳しい話はNVIDIAのブログポストで解説されているので気になる方は参照してみてください。
nvidia-reflex-end-to-end-system-latency-terminology

システム表示遅延については下の比較動画で一目瞭然ですが、キーボードを操作してから(実際のプレイではマウスクリック)、射撃が始まるまで数十ミリ秒の遅延があります。
ディスプレイ表示が滑らかになり、残像感が低減されるというのは直感的にも分かりやすい効果ですが、ハイリフレッシュレートなゲーミングモニタはさらに表示遅延も低減してくれます。
動画を見ての通り、画面表示を基準にして、クロスヘア中央にターゲットをエイムしてから撃ち始めた場合、240Hzのほうが60Hzより先に着弾します。

技術云々ではなく、単純に、クロスヘア中央にエイムしてショットという同じタイミングで撃ちあっていたら、リフレッシュレートが高いモニタを使っている方が勝ちます。加えて操作と画面表示の繰り返し応答も早いので、当然、リフレッシュレートが高い方がエイムもスムーズ、正確になります。


さらに下の動画はNVIDIAが公開しているハイフレームレートPCゲーミングのメリットを紹介する比較動画の1つです。240~360Hz・FPSでシステム遅延が小さい環境の攻撃側に敵(守備側)が見えているのに対して、一般的な60Hz・FPSでシステム遅延が大きい環境の守備側は敵(攻撃側)が見えていない様子がハッキリと映っています。


1つ目の動画では同じタイミングで操作しても一般的な60Hzモニタでは遅延が大きいので撃ち漏らすことを実践してみたのですが、2つ目の動画では同じ時間軸で見た時に、一般的な60Hzのモニタを使用しているプレイヤーでは敵が見えていないのに、低遅延なハイリフレッシュレートなモニタを使用しているプレイヤーは先に敵を発見できることを示しています。
以上2つの動画を見ただけでも、表示遅延の小ささというのは、オンライン対戦PCゲームで勝利を目指す上で大きなアドバンテージになることが分かると思います。
nvidia-reflex-peekers-advantage-visualization


これまでの表示遅延の測定について

そんな表示遅延について当サイトでこれまでどうやって検証していたかというと、ハイスピードカメラで撮影した動画から遅延フレーム数をちまちま計算していました。
具体的には、キー押下時にそのキーのLEDが点灯するキーボードを使用して、LEDの点灯から画面表示への反映までの様子をSONY DSC-RX100M5の16倍速(960FPS)スーパースローモーションムービーで撮影し、遅延フレーム数を数えて遅延時間を算出していました。


ディスプレイはリフレッシュレートに応じて一定間隔(60Hzなら16.7ms程度)で画面が更新されます。
『操作した瞬間にディスプレイへ映像データが送信され、次のリフレッシュで画面が更新される』と簡略化して考えると、操作してから画面に反映されるまでの遅延時間は入力タイミング次第で、0~16.7ms(リフレッシュ時間)の振れ幅があるのが分かると思います。
入力タイミングで測定される遅延には振れ幅があり、その他にもランダムな要素はあるため、表示遅延については上記のような動画を1発撮りで完了というわけにもいかず、同計測を各モニタ・各リフレッシュレートごとに10回ずつ行って、その平均値を表示遅延としていました。
ハイスピードカメラでは数秒間だけ録画する撮影をエンドトリガーで行うので(タイミングを調整して押下前後だけを保存しないとデータ容量が膨大に)、それを10回繰り返すのも大変ですし、撮影した動画をチェックしてLEDの点灯から文字入力の繁栄までを数えるのも大変です。
10回では誤差を排除しきれていないという実状もあったのですが、これ以上に測定数を増やすのは作業量的に困難で、正直なところ妥協の産物でした。
screenshot.1617206487

ちょっと前後しますが、240Hzでもギリギリというか怪しかったのに、昨年末にはついに360Hz対応の超高速ゲーミングモニタも発売されたので、960FPSハイスピードカメラ程度では測定精度もかなり微妙になってきて。
240Hz+の超ハイリフレッシュレートなゲーミングモニタのレビュー記事一覧へ
240Hz+_GamingMonitor_2021

そんな折、2020年9月に次世代GPUのGeForce RTX 30シリーズと共にNVIDIA本営から表示遅延を測定できるツール「LDAT(Latency Display Analysis Tool)」が発表されました。
LDATは光学センサーを使用して検出から遅延計測まで全て自動化されていて、ハイスピードカメラを使うよりも手軽かつ、多数サンプルによる統計処理が簡単に行えるところが魅力です。
これまで当サイトでは測定の手間から特定条件でのモニタ表示遅延のみを測定対象としていましたが、LDATくらい手軽であれば、可変リフレッシュレート同期のON/OFF、ゲームタイトルによる違い、グラフィックボードによる違いなど、細かい条件別で多数の測定を行うことができ、表示遅延関連で応用の幅はかなり広いと感じていました。
なので管理人も是非レビューで使用したく、一応、NVIDIAへ問い合わせてみたのですが、やはり法人格でもないと難しいのか、お返事もないという展開でした。
 プレスリリース:https://www.nvidia.com/en-us/geforce/news/nvidia-reviewer-toolkit/
Latency Display Analysis Tool (2)



PC Gaming Latency Testerについて

以上長くなりましたが、このような前置きというか経緯があって、上記のNVIDIA LDAT(Latency Display Analysis Tool)4Gamerの操作遅延計測用デバイスなどを参考に(触発され)、手軽かつ汎用的に表示遅延を測定できる特注ツール「PC Gaming Latency Tester」の開発を依頼した次第です。
ちなみに”Display Latency Measuring System (DLMS)”が開発者によるコードネームですが、管理人は表題の通り「PC Gaming Latency Tester」と呼んでいます。スペルが若干簡単なのと、文字数も減るので。ワンオフ機だし特に問題もないはず。

「PC Gaming Latency Tester」のハードウェアは、光学センサー、外部制御の信号入力改造済みマウス(ベースはSteelSeries Rival 3)、そして心臓部とも言えるメインデバイスの3つで構成されています。
PC Gaming Latency Tester review_02652_DxO
「PC Gaming Latency Tester」はSDカードリーダーやUSBケーブルなどその他の周辺部品も含めて、幅19cm×奥行13cm×高さ5cmくらいのガジェットポートにまとめて収納できるサイズ感です。これまでハイスピードカメラRX100M5はともかく、LED機能付きキーボードが地味に嵩張っていたので測定機材がコンパクトになったのも地味に嬉しいところ。
PC Gaming Latency Tester review_02640_DxO

光学センサーはシンプルにディスプレイ輝度の変化を測定するフォトセンサーです。コクヨ ひっつき虫とかを使ってディスプレイに貼り付けます。
マウスクリック(信号)に応じて白黒に点滅する専用測定アプリや、PCゲームのマズルフラッシュ等を検出することで入力がディスプレイ表示に反映されたことを確認するという仕組みです。
PC Gaming Latency Tester review_02641_DxO
「PC Gaming Latency Tester」はマウス入力の遅延(チャタリング防止機能やマウス専用ドライバの遅延)も含めた測定にも対応しており、マウスクリックを制御するための改造が施されています。
PC Gaming Latency Tester review_02642_DxO
「PC Gaming Latency Tester」で使用するマウスについて、SteelSeries Rival 3は、ASUS ROG Swift PG259QNRやAlienware AW2521Hなど一部のG-Sync対応モニタがサポートするシステム遅延測定機能NVIDIA Reflex Latency Analyzerへの対応が初期から公表されていたので、同マウスをベースに改造してもらいました。
SteelSeries Rival 3

以上2つを外部センサー&オプション入力機器として、「PC Gaming Latency Tester」の心臓部となるメインデバイスがこちら。スマホ半分くらいのサイズ感です。
PC Gaming Latency Tester review_02643_DxO
中央には測定関連の設定や、測定経過の表示、データ保存を行うためのLCDディスプレイがあり、右下の青色スティックで操作します。
PC Gaming Latency Tester review_02646_DxO
上側には光学センサーやマウスクリック信号制御を接続するためジャックがあります。右側にあるLEDは同測定器が入力信号を出した時に点滅するインジケーターです。
PC Gaming Latency Tester review_02645_DxO
側面はMicroUSBスロットがあり、測定データは最小桁コンマ1桁msでエンター区切りの数列としてtxtファイルに保存されます。txtファイルなので流し読みの簡単なデータチェックも容易ですし、エクセルなど表計算ソフトで統計処理も問題なく行えます。
PC Gaming Latency Tester review_02644_DxO

写真に撮った時に全体像が分かりやすいので、ゲーミングモニタではなくゲーミングモバイルPCの例ですが、「PC Gaming Latency Tester」はこんな感じにセットアップして使用します。
PC Gaming Latency Tester review_02656_DxO
「PC Gaming Latency Tester」のメインデバイスには、測定器本体がマウスクリック信号を出すエミュレーションモード(USB HIDのポーリングタイミングに同期するのでマウス入力遅延はゼロ)、マウスクリック信号を制御してマウス入力遅延も含めたシステム遅延を測定できる外部マウスモード、以上2つの測定モードがあります。
PC Gaming Latency Tester review_02651_DxO-horz
その他の設定項目は読んで字の通り、測定の反復回数(ショット回数)、各ショットの間隔(トリガー間隔)、1度のトリガーでクリックを押下し続ける時間(トリガー時間)です。
ランダム性付加については更新タイミングとのズレを多数サンプルの平均で綺麗に収束させる機能です。60Hzモニタの場合16.7msで画面が更新されるので、更新タイミングとのズレで測定値は必ず0~16.7msの誤差が出ますが、ランダム性付加かつ多数サンプルの平均を行えば、この誤差は16.7ms/2 = 8.3ms程度に収束するという具合。

ちなみに外部マウスモードについて、管理人は当初、『マウスをポチポチすると、クリックセンサーの押下を測定器が検出してディスプレイ変化との遅延を測定する』という手動操作を含めたものを想定していました。
しかしながら、開発者が非常に有能で『クリックセンサーの押下信号をそもそも測定器側で制御する』という仕様になっていました。おかげで外部マウスモードでも反復測定を自動化できるという優れモノです。
PC Gaming Latency Tester review_02653_DxO

「PC Gaming Latency Tester」はエミュレーション信号やマウス信号からディスプレイ画面変化(輝度の変化)までの遅延を測定する汎用的なツールなので、一般的なPCゲームでももちろん測定はできるのですが、ゲーミングモニタの性能検証に使用する簡易の測定アプリケーション「DLMS Simple App」も一緒に開発してもらいました。
クリック信号に応じてウィンドウが白に点灯するだけの非常にシンプルな設計です。DLMS Simple AppにはWindowsデスクトップアプリ版(左)とDirectX12版(右)の2種類があります。測定結果についてだけ簡単に説明すると次のような違いがあります。
DLMS Simple App
DLMS Simple App Windowsデスクトップアプリ版は60Hzモニタで50~60ms程度の表示遅延になり、当サイトのこれまでの測定や一般的なPCゲームにおける遅延と似た測定結果が得られます。以下、サンプル数100から平均遅延を算出しています。
PC Gaming Latency Tester_WA-E
PC Gaming Latency Tester_WA-M
一方でDLMS Simple App DirectX12版はDirectX12で追加された低遅延モードが採用されているとのことで、多数サンプルの平均を取ると、『1000ms/リフレッシュレート/2 +α』というかなり理想的なシステム遅延の測定値が得られます。
PC Gaming Latency Tester_DX-E
PC Gaming Latency Tester_DX-M

ちなみに以上のデータでエミュレーションモードと外部マウスモードの差分をそれぞれ取ってみると、差分は5~6ms程度となりました。DirectX12のほうがWindowsアプリよりも若干差分が小さいような傾向も見られますが、概ね測定誤差と考えてもいい程度です。
SteelSeries Rival 3のクリックボタンを物理的に操作してから、クリック信号が出力されるまでの遅延時間は5~6ms程度であることが分かります。SteelSeries Rival 3はゲーミングマウスなので1桁ms程度の入力機器遅延ですが、2桁以上と遅延の大きいマウスも当然存在します。
PC Gaming Latency Tester_mouse-latency

今後、ゲーミングモニタ等のレビューでは、外部マウスモードとDLMS Simple App Windowsデスクトップアプリ版を組み合わせた「実用システム遅延」、そしてエミュレーションモードとDLMS Simple App DirectX12版を組み合わせた測定値から1/2リフレッシュ時間差分を取った「ディスプレイ表示遅延」(厳密にはPC処理遅延も含むがPC処理がリフレッシュ待機時間内とすると差分で相殺されるはず)の2種類を測定データとして使用する予定です。
System latency
Display latency


上記のようにハイリフレッシュレートなゲーミングモニタや、ハイリフレッシュレートなディスプレイを搭載したゲーミングモバイルPCのハードウェア性能の比較検証に使用できるだけでなく、「PC Gaming Latency Tester」は各種PCゲームにおいても、様々な設定別で実際のシステム遅延を測定することができます。
下の2つは一例ですが、いずれの測定値も100サンプルから平均値を取っており、グラフ2つ作るだけで1400のサンプルがあります。これを従来のハイスピードカメラを使った方法でやるというのは想像もしたくない苦行です。
ワンオフ特注なので高かったとはいえ、「PC Gaming Latency Tester」が完成したおかげで、ハイリフレッシュレート・ハイフレームレートに関連した検証が楽になり、検証の幅も広がりました。
System latency_apexlegends
System latency_overwwatch


以上、『表示遅延測定ツール「PC Gaming Latency Tester」を特注した話』でした。
PC Gaming Latency Tester






関連記事

予算と性能で選ぶオススメのゲーミングモニタを解説
PCモニタ・ディスプレイのレビュー記事一覧へ

予算と性能で選ぶオススメのゲーミングモニタを徹底解説

おすすめグラボまとめ。予算・性能別で比較。各社AIBモデルの選び方
グラフィックボードのレビュー記事一覧へ

おすすめグラボまとめ

おすすめBTO PCまとめ。予算・性能別で比較。カスタマイズ指南も
おすすめゲーミングPCまとめ




(注:記事内で参考のため記載された商品価格は記事執筆当時のものとなり変動している場合があります)



スポンサードリンク