What’s the best graphics card for VR? It’s complicated

42036

The VR revolution has begun. Production headsets have been shipping for months, and although the Oculus Rift and HTC Vive are very much first-generation devices, the experience is unquestionably compelling even at this early stage. Moving your head to look around virtual worlds pulls you in much deeper, making VR immersive in ways that traditional displays simply cannot match.

Virtual reality’s next-level immersion is often referred to as presence—the feeling that you’re actually somewhere else. It’s a difficult thing to pull off, because we’re extremely sensitive to glitches in the matrix. That’s why the Rift and Vive both run at 90Hz, or the equivalent of 90 frames per second.

As you might expect, pumping out frames that quickly requires serious GPU power. The recommended spec for both headsets calls for at least a GeForce GTX 970 or Radeon R9 290, but is that really enough for a good experience? And what do you gain from stepping up to a higher-end card? We assembled a stack of graphics cards to find out.

Everything is different in virtual reality

Maintaining presence in VR is all about minimizing latency. Movement needs to be tracked and displayed without perceptible lag to be convincing—and to prevent your gaping mouth from turning into a vomit cannon. Unlike with traditional games, where lag and visual hitches filter through peripherals and displays at arm’s length, performance hiccups affect the whole world around you. The heightened sense of immersion can actually be a detriment, since there’s much more to lose if the experience is disrupted even for a brief moment.

vomitcannon

At 90Hz, current headsets provide an updated view of the world every 11.1 milliseconds. The graphics card has to generate new frames that quickly to keep up, which is a tall order even at the relatively modest 2160×1200 (1080×1200 per eye) resolution used by the Oculus Rift and HTC Vive. You effectively want a minimum frame rate of 90 FPS.

Depending on the game and what’s happening in the scene, even high-end graphics cards can dip below that threshold at times. Modern headsets compensate with a clever bit of visual trickery. If the graphics card won’t have a new frame ready in time for the next refresh cycle, it takes an old frame, adjusts the perspective based on the current trajectory, and then uses it to fill the gap. This technique is called asynchronous timewarp on the Rift and reprojection on the Vive, and it can be very effective at maintaining persistence during periods of reduced performance.

The added complexity of VR makes analyzing performance somewhat more difficult because familiar benchmarking tools don’t account for the warped and repositioned frames essential to maintaining persistence. We’ve adapted by adopting a multi-pronged approach that combines hard data with subjective impressions. I’ve spent days with the Rift strapped to my face to get a sense of the experience, both with and without the performance HUD from the Oculus SDK. The HUD displays real-time information in the headset on how quickly new frames are generated and when they’re warped.

The impressions from those sessions are combined with data from PresentMon, a free bit of code that tracks the “present” events corresponding to when new frames are shown in the secondary window associated with most VR titles. This window appears on the system’s monitor, so it’s not a perfect representation of what’s happening in the headset, but the performance patterns generally correlate with my subjective impressions from the headset—and what the Oculus HUD shows. While not ideal, it’ll do for now.

lineup

Meet the contenders

This article is just the beginning of our efforts to look deeper into VR. We’re starting with a collection of graphics cards that runs from the baseline GeForce GTX 970 and Radeon R9 390 (a close relative of the R9 290) all the way up to the flagship GeForce GTX 1080. We’ll be testing more cards and configurations as time goes on, and the HTC Vive will soon join the party.

Our current lineup includes three contenders based on NVIDIA’s last-generation Maxwell architecture: the Strix GTX 970, Strix GTX 980, and Matrix 980 Ti. We also have a trio of cards with newer Pascal silicon. The Strix GTX 1060, Strix GTX 1070, and Strix GTX 1080 replace their 9-series predecessors and promise substantially better performance, especially for VR. On the AMD side, we have the Strix R9 390 based on the second-gen GCN architecture, plus the new Strix RX 480 based on the third iteration of GCN. The RX 480 is all about bringing VR to a more affordable price point, so it will be interesting to see how the card does against pricier alternatives—and its closest competitor, the GTX 1060.

Regardless of the GPU under the hood, our latest generation of Strix cards ups the ante with customizable Aura RGB lighting and FanConnect headers that control system fans based on the GPU temperature. More importantly for VR, they include dual HDMI 2.0 outputs.

dualhdmi

The Oculus Rift and HTC Vive both connect to the graphics card via HDMI, monopolizing a popular port for traditional displays. Since you can’t get by on a headset alone, we added a second port that lets you run VR alongside an HDMI monitor. You can also connect monitors via DisplayPort and DVI, of course.

All these cards are part of our Beyond VR Ready program, which tests compatibility with current headsets to ensure seamless setup out of the box. We’re going beyond that today by testing the actual experience in VR. Lending a hand is our ROG Maximus VIII Impact motherboard, which is also part of the Beyond VR Ready program. It’s loaded with a Core i5-6600K processor and 16GB of RAM.

To set the stage, we’ll start with Valve’s SteamVR performance test, which generates a score based on the level of graphics quality maintained in a custom scene. This benchmark makes dynamic adjustments to ensure a consistent 90Hz. The scale goes to 11, which represents the maximum “very high” quality level for the scene. Nigel Tufnel would approve.

steamvr-new

The minimum recommended GTX 970 and R9 390 are fast enough to maintain “high” detail overall, with the Radeon clearly ahead. The newer RX 480 barely squeaks by the GeForce to sit between them in the standings, notably behind the GTX 1060.

NVIDIA’s latest mid-range contender shadows the old GTX 980 in “very high” territory. Neither maintains that quality level for the entire length of the scene, which is why the scores fall short of the top marks. Only the Matrix 980 Ti and higher-end Pascal cards generate perfect scores with maximum quality across the board. Now, let’s move on to some real games.

Minecraft

Although still listed as a beta, the Windows 10 version of Minecraft has VR support built in. The low-fi visual style doesn’t put too much strain on the GPU even with the default graphics details, which enable everything except antialiasing.

For this test, I flew around the world at mountaintop height, looking down and from side to side with natural head movements. Each loop took around two minutes, and I tried to repeat the test the same way each time. The graphs below show the time between present events as recorded by PresentMon. Click the buttons below to switch between cards.

All the cards largely maintain present times around the 11.1-millisecond target for 90Hz headsets. That matches the output of the Oculus performance HUD, which reported a generally consistent application frame rate of 90Hz. (Frame rates are usually expressed in FPS, but Oculus quantifies them in Hz, which is equivalent for our purposes.) Despite the high frame rate, even the GTX 1080 experiences occasional spikes toward 20 ms. Those deviations appear to match instances of timewarping, which show up in HUD’s count of “dropped” application frames. These frame drops happen intermittently on all the cards, and they aren’t triggered by rapid head movement or sudden changes in the scene caused by the game’s quick turning control.

Surprisingly, timewarping hits when the HUD indicates plenty of GPU resources in reserve. The GTX 1080, for example, is affected during stretches where it otherwise shows 25-40% available GPU power. That said, the GTX 970 and RX 480 ride much closer to full utilization, and they spike up to ~20 ms much more frequently than the rest of the field. The HUD reports dropped application frames during these periods, along with application frame rates as low as 50-60Hz. The slowdowns typically happen when looking down on vast stretches of forest, so they’re separate from the periodic blips affecting all the cards.

Fortunately, neither the slowdowns nor the other blips ruin the experience. The brief spikes are difficult to detect, and the gameplay still feels smooth when the GTX 970 and RX 480 fall behind. That’s not to say the dropped application frames go completely undetected; sometimes the fluidity feels slightly off. The momentary lapses are just subtle enough to be overwhelmed by the awesomeness of the rest of the experience.

Project Cars

While Minecraft has fairly basic graphics, Project Cars looks practically lifelike with all the details turned up. A lot of that detail doesn’t come across in VR, though. The relatively low resolution of current headsets coupled with distortion from the lenses can hide some of the finer details visible on high-end gaming monitors. And that’s actually a good thing, because Project Cars is too demanding to max out in VR even on GTX 1080.

I tested with the game’s default graphics config for VR, whose mix of high and low settings looks reasonably good with the headset strapped on. The results below come from a single lap of the Sakkito GP circuit, starting at the back of a field of 20. Each lap takes me a couple minutes in a GT3 car.

Project Cars is practically flawless with this setup on the GTX 1080, with only an occasional burst where present times shoot up. The GTX 1070 hits snags more frequently, usually in tight traffic or when someone ahead kicks up a cloud of dust, and the GTX 980 Ti fares similarly.

Things are a bit dicier for the other cards. Present times on the GTX 1060 and GTX 980 frequently sail beyond the 11.1-ms ideal. Those cards do much better than the GTX 970, R9 390, and RX 480, which spike constantly throughout the lap. The Radeons particularly struggle through the first corners, where the traffic is tightly packed and clouds of dust are common.

As with Minecraft, the PresentMon data does a decent job of reflecting what’s going on in the performance HUD. The GTX 970 can only muster an application frame rate of 60-70Hz, and it accumulates dropped application frames throughout the lap. The R9 390 and RX 480 behave similarly, with continuous drops and frame rates rarely hitting 75Hz.

Perhaps because the in-game motion is fairly predictable and my gaze is on the road ahead, timewarping does a good job of making the experience enjoyable. The GTX 1060 and GTX 980 definitely feel smoother, though, and the 980 Ti and GTX 1070 are noticeably improved over that.

As you might expect, the GTX 1080 delivers the best experience overall. But even the flagship isn’t perfect. If you’re racing in stormy weather, with all the raindrops and road spray that entails, expect the application frame rate to regularly dip below 90Hz in traffic. The game can feel slightly off when that happens, but the experience is so intense and engrossing that I’m still very much present in the world—and worried about whether I’m going to make the next corner.

Elite Dangerous

Space sims like Elite Dangerous are perfectly suited to the seated VR experience currently offered by the Oculus Rift. You can peer all around the cockpit, from the array of controls for the ship to the canopy looking out into space. Because the action surrounds you in three dimensions, looking around is a natural part of the game.

Most of my time in Elite Dangerous has been spent dogfighting in Arena mode, but it’s hard to get repeatable results in a multiplayer environment. To test performance, I used the training mission for docking, which involves entering a large space station that takes a lot of graphics grunt to render. This sequence represents about 90 seconds of gameplay and includes a slow pan around the inside of the station, plus a complete rotation of the ship at the very end.

The cards do pretty well with the default “VR High” setting, mostly sticking close to our 11.1-ms target. But present times increase at multiple points during the mission, including passing through the station entrance, looking around after crossing the threshold, and rotating at the end of the sequence. These events correspond to dropped application frames seen in the Oculus HUD. Elite Dangerous also drops frames at seemingly random moments, even when there are GPU resources in reserve.

The glitches are hard to see with most of the cards and don’t taint the experience for me. However, I definitely feel them when entering the station on the GTX 970, R9 390, and RX 480. Those three have thick clusters of higher present times during that portion of the training mission.

With a relatively slow pace, this mission helps to mask the artifacts associated with warping missed frames. The slowdowns are more noticeable in the high-speed dogfights that dominate Arena mode, especially on maps with lots of asteroids to render.

Since the cards performed so well overall, I also ran some quick tests with the “Ultra” graphics preset.

The GTX 970 really struggles with the details turned up. Instead of hanging around 11.1 ms and spiking up, its present times stick close to ~22 ms and occasionally drift down. At one point during the station entry, present times rise to over 30 ms! The performance HUD tells a similar story, with an application frame rate as low as 45Hz and constant dropped frames. The volume of dropped frames is too high for warping to completely mask, resulting in noticeably stilted animation.

Stepping up to the GTX 1060 and GTX 980 improves the experience slightly, as does switching to the R9 390 and RX 480. But they all feel a bit chunky, with the HUD showing regular frame drops during the more graphically intensive portions of the test.

Only the higher-end cards can really handle ultra graphics details. The GTX 1070 and GTX 980 Ti are evenly matched—and a big step up from the lower ranks. They’re definitely capable of delivering a good experience with the eye candy turned up. The GTX 1080 is better still, with fewer dropped frames during the most strenuous parts of the sequence.

Buy the best you can afford

VR performance can vary quite a bit between not only different graphics cards, but also different games. Minecraft, for example, is much less demanding than Project Cars. Elite Dangerous falls somewhere between those extremes depending on what you do with the graphics details. Even this initial look at the landscape reveals that the best GPU for virtual reality very much depends on the kinds of games you play and how pretty you want the visuals to be.

stack

The minimum specs are just that. While the GTX 970 and R9 390 deliver decent experiences overall, they lean heavily on timewarping to keep up with the headset in more demanding games. Dropped frames are generally fudged well enough to maintain immersion, but it really depends on the game—and what you’re doing in it. The new RX 480 falls into this camp, which is fitting given its entry-level VR mission.

As they say at Chotchkie’s, it’s up to you whether or not you want to just do the bare minimum. Stepping up to the GTX 1060 and 980 makes things noticeably smoother when the going gets tough and presence is threatened. I think it’s worthwhile for both current and future titles.

The GTX 980 Ti is in a different class, with an associated experience that’s noticeably improved. If you’re shopping in that price range, though, a Pascal-based card like the GTX 1070 or 1080 makes more sense. The new architecture’s VR-specific features should pay dividends with future titles, and even with current games, those cards can smooth out some additional wrinkles. I’m just not sure I’d be clamoring to upgrade if I already had a GTX 980 Ti—and especially a hot-clocked one like the Matrix. The prospect of a proper, Pascal-based successor is tempting enough to hold out, especially given how well the Matrix 980 Ti performs overall.

If you’re looking for a new card for virtual reality, the Strix GTX 1060 is the best entry point based on the games we’ve tested. It’s available for $329.99 online and has a lot more headroom than the minimum spec. While not as good of a value in some ways, the $459.99 Strix 1070 arguably occupies a sweeter spot on the spectrum. The experience is noticeably improved with the relatively modest graphics details we used, giving you the option of reclaiming some of the visual flair and sharpness inevitably lost when going from traditional gaming to VR.

Virtual reality is demanding enough to push Pascal to its limits, so there’s a good case for splurging on the $710 Strix GTX 1080. The extra horsepower certainly won’t go to waste in games like Project Cars and Elite Dangerous. It will surely help in some future titles, too, though it’s difficult to gauge how many VR developers will push the limits as opposed to tailoring their products for the baseline spec.

As with most budding revolutions, questions remain about exactly how things will play out. But there’s little doubt that virtual reality has a bright future on the PC, so we’re going to keep seeking answers and sharing what we learn. This story is just the beginning, and there are many more to tell.