To help evaluate how your VR title is doing with regards to the
Frame Compatibility Checklist, SteamVR offers a
Performance Criteria overlay that measures resolution and frame rate.
Enabling the overlay
You can turn on the in-headset performance criteria overlay by opening the SteamVR Dashboard, toggling
Advanced Settings (bottom left corner) to
Show, then head to the
Developer tab and enable
Draw Performance Criteria Overlay in Headset.

With this option enabled, SteamVR also shows the
Performance Graph. However, the
Performance Criteria section of the overlay is only displayed while a VR title is running.
After exiting a VR title, the
Performance Criteria section of the overlay remains visible for up to 30 seconds with the current results, even if a VR title is launched immediately.
Interpreting the overlay
The
Performance Criteria section of the overlay is shown near the
Performance Graph.

On the right side of the
Performance Graph, the
Application Name and
Steam Application ID are displayed.
Immediately above the
Performance Graph, the
Status is displayed and may be one of the following values:
| VERIFIED | Performance and resolution are satisfactory to receive the Verified badge (subject to meeting the other requirements for the badge). |
| PLAYABLE | Performance is satisfactory, however the resolution is only adequate to receive the Playable badge (subject to meeting the other requirements for the badge). |
| UNSUPPORTED | Performance and/or resolution are not adequate. |
| PENDING | SteamVR is still collecting data to evaluate performance. This transient state typically lasts a few seconds. |
Additional information for VERIFIED/PLAYABLE
Next to the
VERIFIED/PLAYABLE status, the
Average Frame Time (in milliseconds) is displayed. This average is a rolling window of the last 32 frames. Next to the it, the
Target Frame Time (in milliseconds) is displayed. The target is calculated based on the minimum required display refresh rate and includes the required headroom for SteamVR.
Additional warnings are displayed if the game is not submitting depth buffers and motion vectors.
These criteria do not affect the assignment of a badge for your title. We strongly recommend submitting both motion vector and depth suitable for reprojection. This will not automatically throttle your application, but will enable users to optionally run at higher refresh rates using improved reprojection techniques.The depth and motion vectors shall be passed with the OpenVR or OpenXR API below.
You can visualize the depth or motion vectors submitted by using the
Draw Performance Criteria Game Textures in Headset option.
Additional information for UNSUPPORTED
If the VR title renders at a resolution that is too low, it will be indicated with the
resolution is below [...] message. If the game uses dynamic resolution, this condition uses the minimum resolution observed frame-to-frame.
If the performance is not adequate, it will be indicated with the
frame time > [...] message. The target is calculated based on the minimum required display refresh rate and includes the required headroom for SteamVR.
An
additional warning is displayed if the game is using a resolution greater than the recommended resolution. If the game uses dynamic resolution, this condition uses the maximum resolution observed frame-to-frame.
SteamVR specifies the recommended resolution with the OpenVR or OpenXR API below.
To help troubleshoot transient frame time issues with your game, you can look at the
perfcriteria.txt file in the SteamVR logs folder. The first 2 lines recapitulate the Application Name, Steam Application ID, target frame time, effective resolution, etc. The 3rd line is a list of frame times leading to the violation of the threshold set with the target frame time.
Clearing transient conditions
If a transient condition (eg: a loading screen that slows the rendering) or a well-understood issue is causing the overlay to mark the game as
UNSUPPORTED, it is useful to clear this status on the overlay and resume evaluation.
This can be done by bringing up the SteamVR
Now Playing screen, then selecting
Clear Performance Criteria Status.
