性能
打开仪表盘并选择 性能。这个面板把两件事放在同一个界面上:你的头显在做什么,以及在它做这些的同时你的 PC 在做什么。任何桌面工具都能给你看 CPU 历史和排在最上面的进程,但没有一个知道合成器那一秒在做什么 — 而摘下头显,正是你把追查中的卡顿弄丢的方式。

同样的数据有四种排布随产品发布:条带(默认)、经典、仪表台 和 放大(超大尺寸,便于在手腕距离阅读)。在设置的常规、性能区域、布局中切换。本页其余部分使用条带的名称。
顶部有两张每帧图:APP MS · 每帧 · 最近 n 秒 和 GPU MS · 每帧 · 最近 n 秒。一帧就是一个像素,所以窗口容纳的帧数等于条带的宽度,标签会写出按你的刷新率算下来那是多少秒。一条虚线标出你头显的帧预算。画得暗淡的帧来自 vrOS 自身没有全速渲染的那些时段 — 它们被显示出来而不是隐藏,并且从 FPS 和平均值数字中剔除,而不是伪造。
卡顿标记是同一帧在两条条带上各画一个点。当一帧的峰值 — 应用帧间隔和 GPU 总时间中较大的那个 — 至少是最近 45 帧中位数的 1.5 倍并且比它高出至少 5 ms 时,这一帧算作卡顿。这是相对于你的机器刚才在做什么的比值,不是固定阈值,所以稳定的 40 fps 世界不会产生标记,而流畅世界里的一次尖峰会。条带的标题统计窗口内的数量。
在条带布局中,条带下方的 最近 60 秒 · 每秒 1 条 为最近一分钟每秒保留一条,那一秒里有卡顿的就是红色。指向某一条,或用游戏手柄走到这张图上,它会写出那一秒占用 CPU 最多的进程。你打开面板之前的条没有名字:只要头显处于连接状态,帧历史就在持续累积,但进程标记只在仪表盘打开时才存在。
CPU、核心与驱动时间
Section titled “CPU、核心与驱动时间”CPU 仪表显示总量和你的 CPU 型号名称。它下方每个逻辑处理器一条柱,标题为 n 线程 · 最高 p%。这个网格能适应任意线程数,而放大是唯一没有它的布局。
每个核心格子还可以长出一条窄的第二柱:DPC 加中断时间,也就是该核心花在驱动里的工作。它有自己固定的 0 到 25% 刻度,所以一半高度大约是 12%,而且为零时完全不出现 — 在一台健康的机器上,大多数核心什么都不画,负载高的核心便因对比而显眼。它只在格子足够宽时才绘制,所以仪表台布局和线程数非常高时只显示繁忙柱。
某个核心上的驱动时间意味着嫌疑对象是驱动,而不是屏幕上的应用。在测得这些数据的那台机器上,除了 SteamVR 什么都没运行,却有一个核心持续承担 5 到 12% 的驱动时间 — 而它的繁忙柱读数是 9.23%,也就是说那个核心一半的负载是延迟的驱动工作,而单看繁忙百分比只会把它画成一条不起眼的短柱。插上或拔下一个 USB 设备,或者开始一次大文件复制,你就能看到这个数字在动。
在据此采取行动之前,有两件事要知道:
- 大多数核心显示
DPC 0%是正确的。 计量的时间片是 15.625 ms,所以在每秒一次采样下,这个数字以大约 1.5 个百分点为单位跳动,安静的核心就正好读作零。 - 两条柱不共用一套刻度。 繁忙是 0 到 100,驱动是 0 到 25,所以一条短的繁忙柱旁边可能是一条更高的驱动柱。下结论之前先看数字。
指向某个核心可看到 CORE i · p% · DPC d% · ISR n%。指向 CPU 仪表可在一行里看到系统总量和当前排在最上面的进程。在 Linux 上,同样的两个数字来自 /proc/stat。平台无法提供它们时,这些项会从读数中去掉,而不是显示为零。
内存、GPU 与溢出仪表
Section titled “内存、GPU 与溢出仪表”| 仪表 | 显示内容 | 琥珀 / 红 |
|---|---|---|
| 内存 | 已用相对于已装 | 85% / 92% |
| 页面 | 提交量相对于提交上限 | 85% / 92% |
| GPU | 适配器繁忙百分比,附型号名称 | — |
| 显存 | 已用专用显存相对于总量 | 85% / 92% |
| 共享 | 已用共享系统内存相对于总量 | 见下文 |
共享是捕捉显存溢出到系统内存的那个仪表,而这正是一款游戏突然只跑一半速度的原因之一。只有在专用显存至少占满 95% 之后它才会出声,此后溢出 0.5 GB 时警告,2.0 GB 时报错。低于这道门槛的共享使用是正常的,不会被标记。
任何一个你的机器没有提供计数器的仪表都显示 —。那是诚实的缺失,不是零。
面板的其余部分
Section titled “面板的其余部分”- 各个方块。 带滚动平均值的 FPS、APP MS、GPU MS、本次会话的丢帧,以及作为会话比率的重投影 — 1% 及以下是
比率正常,高于则是比率偏高。 - I/O 行。 按磁盘流量算最繁忙的进程,读加其他、以及写,
1/3表示你正在看排名中的第几个进程。激活该行可以在它们之间循环。 - 各项运行时长。
VROS、正在运行的游戏,以及系统。vrOS 这个数字是核心进程自己的,所以重启合成器不会把它清零。超过一天后显示为1天 03:12。 - vrOS 开销行。 核心和合成器的 CPU 与内存、合成器的帧时间,以及它每秒的提交、复制和绘制次数。空闲时它读作零,这正是重点。
- 设备条。 仪表盘画布上单独的一条,每个被追踪的设备一个徽章 — 头显、左、右,然后是追踪器,最多 20 个,标题里写着真实数量 — 每个都带一个电量百分比,50 时变琥珀色,25 时变红。指向某个徽章可看到它的型号和序列号。可在设置 → 常规中关闭设备条,或把它放到面板上方而不是下方。
悬停能显示的一切,用游戏手柄也都够得到:在面板上走动会打开真正重要的那个元素的读数,而不是逼你逐个访问 32 条柱。
| 项目 | 多久更新一次 |
|---|---|
| 帧条带 | 每秒 10 次,且仅在性能是当前区域时 |
| 方块、仪表、历史柱、运行时长、时钟 | 每秒一次 |
| 电量 | 每 5 秒一次 |
| 进程表(I/O 行、排在最上面的进程) | 每 2 秒一次,且仅在显示仪表盘时 |
| 仪表盘隐藏时的一切 | 完全不更新 |
帧时序本身是每个合成器帧从 vrOS 手上已有的数据里读一次的,这就是为什么你一打开面板,最近 60 秒就是真实的,而不是从你看的那一刻才开始。进程表是唯一一次全系统扫描,它只有一个开关:设置 → 常规、性能区域、进程监视。关掉它,I/O 行和排在最上面的进程名就消失,那次读取也永远不会发生。