パフォーマンス
ダッシュ を開いて 性能 を選びます。このパネルは 2 つのことを 1 つの面 にまとめます。ヘッドセットが何をしていたか、そしてその間 PC が何をしていたかです。 CPU の履歴と、その上に乗っているプロセスなら、どのデスクトップツールでも見せてくれ ます。しかし、その 1 秒間にコンポジターが何をしていたかを知っているものはありませ ん — そしてヘッドセットを外すことこそ、追いかけていたカクつきを取り逃がす方法で す。

同じデータの並べ方が 4 つ入っています。ストリップ(既定)、クラシック、 コンソール、そして 拡大(大きめで、手首の距離から読むため)です。切り替え は 設定 の 一般 → パフォーマンス領域 → レイアウト です。このペー ジの以降では ストリップ の名前を使います。
フレームストリップ
Section titled “フレームストリップ”上部にフレームごとのグラフが 2 つ並びます。APP MS · フレーム毎 · 直近 n 秒 と
GPU MS · フレーム毎 · 直近 n 秒 です。1 フレームが 1 ピクセルなので、この窓には
ストリップの幅と同じ数のフレームが入り、ラベルには、それが手元のリフレッシュレート
で何秒分になるかが出ます。破線はヘッドセットのフレーム予算を示します。淡く描かれた
フレームは、vrOS 自身が全速で描画していなかった区間のものです — 隠さずに表示し、で
っち上げる代わりに FPS と 平均 の数値から外してあります。
ヒッチマーカー は、同じフレームの位置で両方のストリップに打たれる点です。フレー ムがヒッチと数えられるのは、そのピーク — アプリのフレーム間隔と GPU の合計時間のう ち大きい方 — が直近 45 フレームの中央値の 1.5 倍以上で、かつ それより 5 ms 以上 大きいときです。これは固定のしきい値ではなく、直前までマシンがしていたことに対する 比率です。ですから安定した 40 fps のワールドではマーカーは出ず、なめらかなワールド で 1 度跳ねれば出ます。ストリップのヘッダーは、この窓の中の数を数えます。
ストリップ レイアウトでは、ストリップの下の 直近60秒 · 1本/秒 が直近 1 分間を 1 秒
1 本のバーで保持し、ヒッチのあった秒は赤くなります。バーを指すか、ゲームパッドでグ
ラフまで進むと、その 1 秒間に CPU を最も使ったプロセスの名前が出ます。パネルを開く
前のバーには名前がありません。フレームの履歴はヘッドセットが接続されている間ずっと
畳み込まれ続けますが、プロセスの記録はダッシュが開いている間しか存在しないからで
す。
CPU、コア、ドライバー時間
Section titled “CPU、コア、ドライバー時間”CPU メーターには合計値と CPU のモデル名が出ます。その下に論理プロセッサー 1 つにつ
き 1 本のバーが並び、n スレッド · 最大 p% というキャプションが付きます。格子はど
んなスレッド数にも折り返して収まります。これを持たない唯一のレイアウトが 拡大 で
す。
各コアのセルには 細い 2 本目のバー が伸びることもあります。DPC と割り込みの時 間、つまりそのコアがドライバーの中で費やした処理です。0 から 25 パーセントの固定ス ケールを持つので、高さが半分ならおよそ 12 パーセントです。そして ゼロのときはまっ たく描かれません — 健全なマシンではほとんどのコアが何も描かず、忙しいコアが対比で 際立ちます。セルの幅が足りるところにしか描かれないため、コンソール レイアウトとス レッド数が非常に多い場合は、ビジーのバーだけが出ます。
1 つのコアにドライバー時間が出ているなら、疑うべきは画面のアプリではなくドライバー です。これを計測したマシンでは、SteamVR 以外は何も動かしていない状態で、1 つのコア が 5 から 12 パーセントのドライバー時間を出し続けていました — そのときビジーのバー は 9.23 パーセントでしたから、そのコアの負荷の半分は遅延したドライバーの処理で、ふ つうのビジー率ではそれが目立たない短いバーとして描かれていたことになります。USB デ バイスを挿し抜きしたり、大きなファイルコピーを始めたりすると、この数値が動くのを見 られます。
これをもとに動く前に、知っておくことが 2 つあります。
- ほとんどのコアが
DPC 0%と出るのが正しい状態です。 集計の量子は 15.625 ms なので、1 秒に 1 回のサンプルでは数値がおよそ 1.5 ポイント刻みで跳び、静かなコア はちょうどゼロと出ます。 - 2 本のバーはスケールを共有していません。 ビジーは 0 から 100、ドライバーは 0 から 25 なので、短いビジーのバーの隣に、より高いドライバーのバーが並ぶことがあり ます。結論を出す前に数値を読んでください。
コアを指すと CORE i · p% · DPC d% · ISR n% が出ます。CPU メーターを指すと、システ
ム全体の合計と、現在のトップのプロセスが 1 行で出ます。Linux ではこの 2 つの数値は
/proc/stat から来ます。プラットフォームがそれを供給できない場合、その項目はゼロ
として見せるのではなく、表示から省かれます。
メモリ、GPU、あふれのメーター
Section titled “メモリ、GPU、あふれのメーター”| メーター | 表示するもの | 琥珀 / 赤 |
|---|---|---|
| RAM | 使用量と搭載量の比 | 85% / 92% |
| ページ | コミットチャージとコミット上限の比 | 85% / 92% |
| GPU | アダプターのビジー率と、モデル名 | — |
| VRAM | 専用ビデオメモリの使用量と合計の比 | 85% / 92% |
| 共有 | 共有システムメモリの使用量と合計の比 | 下を参照 |
共有 は、VRAM がシステムメモリへあふれるのを捉えるメーターです。ゲームが突然半分の 速度になる理由のひとつがこれです。声を上げるのは専用 VRAM が 95 パーセント以上埋ま ってからで、そのうえであふれが 0.5 GB で警告、2.0 GB でエラーになります。その手前の 共有メモリの使用はふつうのことで、印は付きません。
マシンがカウンターを公開していないメーターは — と出ます。これはゼロではなく、正
直な不在です。
パネルの残りの部分
Section titled “パネルの残りの部分”- タイル。 移動平均付きの FPS、APP MS、GPU MS、セッション中の ドロップ、そして
セッション比としての 再投影 です — 1 パーセント以下なら
比率 OK、それより上なら比率 高です。 - I/O 行。 ディスクの通信量が最も多いプロセスを、読み取り + その他 と 書き込み
で示します。
1/3は、順位のうちいまどれを見ているかを表します。行を決定すると順 に切り替わります。 - 稼働時間。
VROS、実行中のゲーム、システムです。vrOS の数値はコアプロセス 自身のものなので、コンポジターを再起動してもリセットされません。1 日を超えると1日 03:12のように出ます。 - vrOS のコスト行。 コアとコンポジターの CPU とメモリ、コンポジターのフレームタ イム、そして 1 秒あたりの送信・コピー・描画です。アイドル時はゼロが並びます。それ がこの行の狙いです。
- デバイスバンド。 ダッシュのキャンバスにある独立した帯で、トラッキング中のデバ イスごとにチップが並びます — HMD、左、右、続いてトラッカーで、最大 20 個、実際の 台数はタイトルに出ます — それぞれにバッテリー残量が付き、50 で琥珀、25 で赤になり ます。チップを指すとモデル名とシリアルが出ます。バンドを消したり、パネルの下では なく上に置いたりするのは 設定 → 一般 です。
ホバーで出るものはすべてゲームパッドでも到達できます。パネルを順に進むと、32 本の バーを回らされることなく、意味のある要素の表示が開きます。
かかるコスト
Section titled “かかるコスト”| 対象 | 更新の頻度 |
|---|---|
| フレームストリップ | 1 秒に 10 回。性能 が表示中の領域のときだけ |
| タイル、メーター、履歴バー、稼働時間、時計 | 1 秒に 1 回 |
| バッテリー残量 | 5 秒に 1 回 |
| プロセス表(I/O 行、トップのプロセス) | ダッシュ表示中は 2 秒に 1 回 |
| ダッシュが隠れている間は、すべて | まったく更新しない |
フレームタイミング自体は、vrOS がすでに手元に持っているデータからコンポジターのフ レームごとに 1 回読み取ります。だからパネルを開いた瞬間の直近 60 秒は本物で、見た時 点から始まるのではありません。システム全体を走査するのはプロセス表だけで、スイッチ はひとつです。設定 → 一般 → パフォーマンス領域 → プロセスモニター。これを切る と I/O 行とトップのプロセス名がなくなり、読み取り自体が行われません。