コンテンツにスキップ

Windowsをどのように研究しているか

目次

「Windows の研究」セクションでは、具体的な技術的主張を検証します。各記事では、何を検証したか、どのような条件で行ったか、どのシステムに結果が適用されるかを説明します。

パラメータの存在、システム動作への影響、パフォーマンスの向上には、それぞれ別個の証拠が必要です。

私たちはいくつかの独立した種類の証拠を使用します。

  1. 一次ドキュメント。 Microsoft の公式文書、仕様書、ハードウェアまたはアプリケーションの製造元のドキュメント。
  2. 静的観察。 特定のバージョンのコンポーネントにおける実装の痕跡。このような観察は調査したビルドに限定され、それ自体では実行時にそのパスが実行されることを証明しません。
  3. 動的観察。 記述されたシナリオで取得されたシステムイベント、コンポーネントの状態、トレース。
  4. 制御された測定。 既知の変更と検証済みの状態復元を伴う、事前に選択されたメトリクスの比較。
  5. 再現。 独立した実行、別のシステムまたはビルドでの結果の繰り返し。

収集と処理の内部的な自動化手段は公開されません。これは、検証対象の問い、構成、メトリクス、実行回数、制限を開示する要件を変えるものではありません。

ステータス 意味
文書化済み 動作が一次公開情報源に記載されている。
観察済み イベントまたは状態が指定された環境で検出された。
測定済み 記述された手法に基づく数値の差が得られた。
再現済み 結果が独立して繰り返された。
未再現 主張された効果が指定された条件で検出されなかった。
データ不足 手法またはサンプルが結論を下すことを許さない。

ステータスは個別の主張に適用され、記事全体に自動的に適用されるものではありません。私たちは恣意的な信頼度のパーセンテージを使用せず、他のシステムでの検証なしに結果を普遍的に証明されたものとは呼びません。

測定の前に以下を固定します。

  • 検証する問いを一つ;
  • 独立変数;
  • 主要メトリクスとその単位;
  • Windows build、重要なハードウェア、ドライバー、アプリケーションのバージョン;
  • 実用的に意味のある閾値;
  • 元の状態に戻す方法。

私たちは元の状態と変更後の状態を比較し、その後復元を確認します。可能な場合はペア実行の順序を交互にします。ウォームアップ、電源、温度、バックグラウンド負荷を制御します。それが不可能な場合は制限を明記します。

一つのトレースの個別の区間は時間的な変化を示しますが、独立した繰り返しとは見なしません。仮想マシンの結果を物理コンピュータに自動的に転用することはできません。同一クラスのすべてのデバイスについて結論を出すには、一つのデバイスを検証するだけでは不十分です。

物理的な click-to-photon スタンド

Section titled “ 物理的な click-to-photon スタンド”

ゲーム研究には独自のハードウェアスタンドを使用します。これはマウスボタンの電気信号から画面上のピクセルの輝度変化までの完全な遅延を、この区間をソフトウェアで推定することなく物理的に測定します。

主要な経路は次のように構成されています。

  1. ワイヤは初代 Logitech G PRO X SUPERLIGHT の左ボタン線に半田付けされています。電気的立ち上がりが Arduino Uno のタイマーを起動します。
  2. 同じクリックがマウスコントローラ、USB、Windows、ゲーム、レンダリングキュー、GPU、モニターを通過します。
  3. 画面に固定されたフォトセンサーが、テスト領域の輝度が事前に選択された閾値を超えたときにタイマーを停止します。
  4. 一つの結果には、ミリ秒単位の完全な click-to-photon 区間が含まれます。

この開始方法は意図的にマウスコントローラによる処理とその click debounce を含みますが、接点が閉じるまでのボタンの機械的な移動は含みません。私たちは最終値からマウスの遅延を差し引きません。現在の独立測定手法では、RTINGS が G PRO X SUPERLIGHT についてケーブル経由で 2.5 ms、receiver 経由で 3.1 ms と記載しています。測定された低い click latency はこのマウスをスタンドの安定した構成要素として適したものにしますが、結果を純粋な Windows やゲームの遅延に変えるものではありません。

Arduino Nano フォーマットの別個の HID マイクロコントローラは、Windows にクリックを自動的に送信できます。この経路は、手動押下のばらつきを排除し、入力信号を制御されたテンポで繰り返す必要がある場合に使用されます。これは別の問いに答えるものであり、マウスボタンの物理ラインから始まるシリーズとは混同されません。

CS2 では workshop マップ BXLAT が使用され、クリックがテスト領域の予測可能な変化を引き起こします。同様の視覚的シナリオが Valorant でも適用されます。フォトセンサーの位置、解像度、モニターのリフレッシュレート、FPS リミット、display scaling モード、presentation mode、光閾値は、比較するシリーズ全体で固定されます。

現在の標準では、状態ごとに少なくとも 300 回の有効なクリックが必要です。新しいシリーズでは、平均、標準偏差、最小値、最大値、P90 を含むパーセンタイル、グラフ作成用の分布を保存します。誤作動、タイムアウト超過、事前に設定された範囲外の値はマークし、シリーズの適合性の検証時に考慮します。

このスタンドでの研究は数年にわたって行われており、その間に保存形式は変化しました。過去の測定の公開テーブル には 300 クリックのシリーズと、より初期の 100 クリックのシリーズがあります。一部の古いテストでは AVG、STDDEV、MIN、MAX のみが保存されています。欠落している P90 やグラフは集計値から復元されず、利用不可として明確にマークされます。新しいシリーズは拡張された統計とともに公開されます。

記事には以下が含まれます。

  • 短い回答;
  • 検証可能な主張;
  • 研究の範囲;
  • 手法と独立したトレースの数;
  • メトリクスの値とばらつき;
  • 確認された結論と確認されなかった結論;
  • 除外された、または汚染されたメトリクス;
  • 制限;
  • 同一の結果を保証しない実用的な推奨;
  • 状態の復元の確認;
  • 一次公開情報源と検証日。

結果が一般的な推奨や BoosterX の機能を確認しなかった場合でも、それは公開される可能性があります。製品に設定が存在することは、その有効性の証拠にはなりません。

私たちの研究における動的観察のかなりの部分は、公開ツールで再現できます。システムトレースには Sysinternals ProcMon、WinDbg と Microsoft の公開シンボル です。基本的な検証経路は次のとおりです。

  1. パラメータの読み取り — ProcMon。 Options → Configure Symbols を開き、Microsoft の公開シンボルサーバーを指定して、スタックがモジュール名と関数名を表示するようにします。次に Path contains フィルターを追加します — 例えば HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile からの SystemResponsiveness です。読み取りイベントから、値が読み取られているか、いつ、どのプロセスによって読み取られているかがわかります。
  2. 誰が読むか — 呼び出しスタック。 イベントをダブルクリックするとそのプロパティが開きます。Stack タブにはモジュールの連鎖が表示されます — これがパラメータの「読み手」です。例えば user32.dll から win32kfull.sys への連鎖は、その値を Win32k サブシステムが担当していることを意味します。
  3. 実行時の動作 — WinDbg。 Microsoft の公開シンボルがあれば、スタック内の関数にブレークポイントを設定し、読み取られた値がどのように適用されるかを確認できます。
  4. 合成テスト。 値を変更し、観察される動作を測定します。例えば、マウス入力の間隔は公開のポーリングレートテスターで測定されます。

正直な境界。 バイナリの静的解析と完全なトレースは記事では公開されません。上記の経路は私たちの観察の動的部分を再現しますが、静的解析を置き換えるものではありません — その結論は調査したビルドに適用されます。

ソフトウェア遅延、キューの深さ、オーディオエンジンの周期、スレッドのスケジューリング時間、完全な物理遅延は異なる量を表します。例えば、XAudio2 のキューはユーザーの操作からスピーカーからの音までの全区間を決定するものではありません。それを測定するには外部機器が必要です。

同様に、個別のプロセスの CPU 時間は、FPS、frametime、消費電力、システムの応答性への全体的な影響と等しくありません。そのような結論は個別のメトリクスで検証されます。

生の ETL、PML、イベントログ、メモリダンプ、レジストリのエクスポートはデフォルトでは公開されません。システムトレースにはユーザー名、パス、コマンドライン、ネットワークアドレス、その他の機密データが含まれる可能性があります。Microsoft は Sysinternals の条件 でこれについて特に警告しています。

サイトには手動で選別され匿名化されたテーブルのみが掲載されます。私たちはデバイスとインストールの一意の識別子、ユーザーパス、アカウントデータ、ネットワーク識別子、ログイン情報、研究に関係のないプロセスに関する情報を削除します。

Windows、ドライバー、アプリケーションは変化します。各記事には最終検証日と適用範囲が付与されます。新しい測定が古い結論と矛盾する場合、記事は原因の説明とともに更新されます。古い結果は新しいビルドに自動的に転用されません。

研究は BoosterX チームによって公開され、製品の機能に関係する場合があります。この潜在的な利益相反は、手法、測定値、制限、否定的な結果を製品の推奨から分離することによって考慮されます。

BoosterX Wiki は独立した出版物であり、Microsoft Corporation と関連、承認、スポンサー、推奨の関係にありません。Microsoft および Windows の名称は、研究対象を正確に記述するためにのみ使用されます。詳細: Microsoft Trademark and Brand Guidelines。

  • 2026-08-24: 手法を公開。
  • 2026-09-20: 「自分で検証する方法」セクションを追加; マウスデータソースへのリンクを修正。

手法の最終検証: 2026-09-20。