コンテンツにスキップ

パフォーマンス

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

パフォーマンス領域。上部にフレームタイムのグラフ、その下にコアごとの格子、横に GPU・メモリ・デバイスの表示が並んでいる。

同じデータの並べ方が 4 つ入っています。ストリップ(既定)、クラシック、 コンソール、そして 拡大(大きめで、手首の距離から読むため)です。切り替え は 設定 の 一般 → パフォーマンス領域 → レイアウト です。このペー ジの以降では ストリップ の名前を使います。

上部にフレームごとのグラフが 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 メーターには合計値と 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 でエラーになります。その手前の 共有メモリの使用はふつうのことで、印は付きません。

マシンがカウンターを公開していないメーターは — と出ます。これはゼロではなく、正 直な不在です。

  • タイル。 移動平均付きの 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 本の バーを回らされることなく、意味のある要素の表示が開きます。

対象 更新の頻度
フレームストリップ 1 秒に 10 回。性能 が表示中の領域のときだけ
タイル、メーター、履歴バー、稼働時間、時計 1 秒に 1 回
バッテリー残量 5 秒に 1 回
プロセス表(I/O 行、トップのプロセス) ダッシュ表示中は 2 秒に 1 回
ダッシュが隠れている間は、すべて まったく更新しない

フレームタイミング自体は、vrOS がすでに手元に持っているデータからコンポジターのフ レームごとに 1 回読み取ります。だからパネルを開いた瞬間の直近 60 秒は本物で、見た時 点から始まるのではありません。システム全体を走査するのはプロセス表だけで、スイッチ はひとつです。設定 → 一般 → パフォーマンス領域 → プロセスモニター。これを切る と I/O 行とトップのプロセス名がなくなり、読み取り自体が行われません。