If you know whether your CPU or GPU is the performance bottleneck, you can diagnose problems or plan your next PC upgrade accordingly. For developers, you need to know where more optimization is required. This guide will show you how to use free tools to check.
- Press CTRL+ALT+DELETE and then click “Task Manager”
- Or press WINDOWS+S and search for “Task Manager”
- Click on the “Performance” tab
- Click on “Open Resource Monitor”
- Click on the “CPU” tab
- Resize the window so you can see all your CPU cores (HyperThreading will double the number of physical cores)
- Press WINDOWS+S and search for “gpu-z”
- Click the “Sensors” tab
Note that while running these programs does use some system resources, it’s negligible. Typically for VR games, your CPU usage will be highest on a single CPU core so just watch for the one with the highest neon “mountain”. It’s perfectly normal for the mountain to shift CPU cores. Your GPU usage will likely not go above 50-60% most of the time–this is also normal. To ensure low latency, the HMD software sometimes limits the GPU utilization. What you’re looking for is a CPU core in Resource Monitor that is locked at 95%+ or a “GPU Load” in GPU-Z that is locked at 95%+. Either of these would indicate that your hitting a bottleneck.
Direct Mode, Extended Mode, and Development
Monitoring is easiest in Direct Mode. Run the demo, turn on mirroring using “hmd mirror on” if necessary, and manually move your HMD around with your hands while watching the resource usage. You may want to go to a “hotspot” in the level (somewhere with a lot of objects, fancy lighting or effects) to get a good reading. In Extended Mode, you’ll want to use Open Broadcaster Software (OBS, free) so you can see on your monitor what’s going on in your HMD. Otherwise, the process is the same. In development in either Unity3D (Unity) or Unreal Engine (UE4), you can use the same tools and process but it’s recommended that you minimize or close your editor window(s) as those can hog resources as well.
For UE4, you can use the “stat unit” command to look at your high-level performance breakdown whether in VR or not. If you look at Game (CPU), Draw (CPU), and GPU. If Game or Draw (render) threads is highest, then you’re CPU-bound. Otherwise, it’s your GPU. So next time your VR experience is judder, check for a bottleneck. You may need to close those other browser windows, disable HyperThreading, or perhaps even upgrade your PC.