VR Gaming Performance

VR Testing

VR testing once again brought to you by Allyn. This is the second review to include this testing. Higher end GPUs were tested  back in our GTX 1080 Review, but those results are not directly comparable to these as there have been various updates to drivers / SteamVR since that review. Before we get into the results, first a quick explanation of how all of this VR stuff works.

Back in our ‘Measuring VR Performance and Experiences’ piece, we compared the output of PresentMon with the GPU Render Time reported by SteamVR:

In the above capture, we changed our viewpoint between a simple and complex scene, noting that once GPU render time exceeded ~11ms (90 Hz), the GPU was forced to shift from presenting a new rendered frame every 11ms to every 22ms once the render time exceeded 11ms. Timewarp keeps the visual feedback of headset movements at a fluid 90 FPS, but the rendered scene drops to 45 FPS actual (here is a video showing that effect):

In the above video, the 970 was unable to render this particular scene at 90 FPS, so it dropped to 45 FPS, but the head panning across the scene remains at 90 FPS thanks to Timewarp. Depending on the game you are playing / what you are doing in that game, this can introduce varying degrees of negative effects to the VR user. While head tracking and movement will be a constant 90 FPS, it is easy to perceive the transition to 45 FPS renders given other objects and movements within the VR environment. In some cases it is a jarring transition, and the ideal scenario is to simply prevent render time from exceeding 11ms in the first place. SteamVR Performance Test draws a very complex scene and implements a trick called Dynamic Fidelity in order to keep the full renders under 11ms. This same trick is implemented in Steam’s own VR game – The Lab. This game has no adjustable quality settings and instead dynamically adjusts its quality during play.

The above capture was taken while looking around the loading ‘splash scene’ containing a bunch of red valve handles, and the installed Fury X was not fast enough for that engine to continue at its highest setting. The instantaneous steps are where the fidelity level was reduced to preempt a drop to 45 FPS scene rendering. This is good for VR games moving forward as it maintains a more fluid experience while moving through scenes of varying complexity. It does however create an issue for testing, as there is currently no way to monitor the current level of fidelity used by Valve’s dynamic VR engine. End result – we could not use The Lab for this testing, leaving us with our current VR testing staple: The Gallery.

We started by finding a scene that was reasonably demanding to render when using the ‘high’ preset. We then repeatedly ‘looked’ at this same scene with each GPU installed in our High End VR System, logging the GPU Render Time. Below is a three-second snapshot of render time with the same scene and quality settings across both GPUs:

To better mesh with the ‘11ms limit’, I’ve set the axis range maximums to match in the above chart. Both cards above were able to maintain true 90 FPS rendering in a complex scene at the high preset. This means that for this particular scene, the quality and experience in the VR was identical across both cards. In the below % overhead chart, we show how much more complex that scene could be at 90 FPS renders:

The Radeon RX 480 came in so close to the GTX 970 that it's safe to call these even, but it was technically just a hair behind it, which tracks with the way those two cards have been trading blows throughout this article. One last note on the above results: the GTX 970 is not expected to benefit from Nvidia's recent developments in Simultaneous Multi-Projection, so it gets no potential help there. That can only happen if/when Nvidia releases a lower end Pascal-based card.

« PreviousNext »