The hidden software tricks AMD and Nvidia use to supercharge VR gaming
With VR gaming, hardware's only part of the equation.
By Brad Chacos
PCWorldApr 11, 2016 3:00 am PDT
It’s been a long time coming, but virtual reality is finally here, with the Oculus Rift and HTC’s Vive headsets now available to gamers and real-world Holodeck enthusiasts. But playing around in VR worlds demands some seriously heavy graphical performance—remember, we’re talking two 1080×1200 displays (one for each eye) at a whopping 90 frames per second. Drop below that frame rate and a user is apt to feel nauseous, at best, and possibly even lose their lunch.
The most foolproof way around that pitfall is to simply throw as much graphical firepower at VR as possible. We tackled that end of the equation in last week’s roundup of the best graphics cards for VR gaming. Hardware’s just the beginning when it comes to VR, however.
While it’s not readily apparent in the SteamVR Performance Test, software can play a massive role in your virtual reality experience, and both AMD and Nvidia have crafted clever software tricks designed to let you eke out more frames from your GPU. AMD calls its VR software LiquidVR, while Nvidia’s is dubbed VRWorks. (Neither likes the idea of spaces between words, apparently.) Many of the software’s tools are under-the-hood features aimed at developers, but some offer massive advantages for users of VR headsets, too.
Let’s highlight some of AMD and Nvidia’s most potent VR software tricks that can make a difference to you—if developers embrace them.
We’ll start this journey with a basic feature that means a lot more for virtual reality than traditional PC gaming: Both AMD and Nvidia’s toolsets enable multi-GPU support in VR.
While multi-GPU support in traditional games has been a bit hit-or-miss recently, running multiple graphics cards in VR delivers clear, immediate benefits, as both technologies dedicate discrete GPUs to each of your eyeballs. “You’ll actually notice the difference immediately,” says AMD’s Omar Faiz. “Not only does it perform faster, but also the image quality improves significantly.”
AMD’s LiquidVR support for two or four Radeon GPUs and Nvidia’s VR SLI are already baked into the SteamVR Performance Test and the Vive’s The Lab series of demos. Again, that’s the rub with all these vendor-specific software tricks; developers need to support them in their games. On Twitter, Nvidia spokesperson Brian Burke said that VR SLI support is incoming due to VRWorks’ inclusion in game engines themselves, but no Oculus launch games embraced the technology at launch. AMD reps confirmed the same on their end. We’re still in VR’s early days.
AMD and Nvidia each have more specialized tricks up their sleeves that each side hopes will give it an edge with VR developers, however.
AMD’s asynchronous shaders
AMD’s proud of the Asynchronous Compute Engine hardware baked into the GCN GPU architecture that current-gen Radeons are built around, which allow greater flexibility for running compute and graphics tasks concurrently. The Oculus Rift’s “Asynchronous Timewarp” feature can take particular advantage of AMD’s async shaders.
“Asynchronous Timewarp is a technique that generates intermediate frames in situations when the game can’t maintain frame rate,” according to Oculus. Basically, Timewarp checks your headset’s position right before displaying an image, and if your head position’s moved since the last frame was rendered, Timewarp will slightly adjust the image to match your current orientation, “which would obviously reduce judder,” according to Faiz. In other words, Timewarp helps compensate for latency issues that could otherwise make you puke.
This video from 2014 does a great job explaining Timewarp in detail.
The dedicated Asynchronous Compute Engine hardware in Radeon GPUs let AMD graphics cards perform Timewarp calculations without disturbing the main graphics pipeline—an advantage when keeping new frames flowing mere milliseconds apart can mean the difference between a magical VR experience and a nausea-filled one.
“Performance will be consistent because you’re not using the graphics rendering pipeline to do the same work, and it’ll also be very efficient, and very quick,” says Faiz. “There are other ways to do it, but with Radeon, you have dedicated hardware to do this compute work. We’ve see great benefits to having this dedicated hardware compared to [a software technique called] ‘preemption,’ where you pause the graphics pipeline, do this compute work, then you pause, then you resume.” That’s what GeForce cards, which lack dedicated asynchronous shader hardware, have to do.
Support for AMD’s asynchronous hardware is baked into Oculus’ SDK, “which means all applications will take advantage of this once Timewarp is active,” says AMD’s Antal Tungler. Yay!
Nvidia’s multi-res shading
Nvidia’s VRWorks tools are already integrated into many of the engines being used to build VR experiences, including Unity Engine, Max Play, Unreal Engine, and “others not announced yet,” according to Nvidia’s Burke. The major feature you want to pay attention to there is Nvidia’s multi-res shading, which we covered when the technology was originally unveiled. “We believe multi-res shading is a game changer for VR applications,” says Burke.
Multi-res shading takes advantage of the way GPUs render images to drastically reduce the performance needed to power VR scenes. Graphics cards spit out images as a straight-ahead, flat scene—what you’d see on a standard monitor. VR headsets, however, rely on a pair of over-the-eye lenses to push the focal point of scenes out into the distance, scrunching the edges of rendered environments together into an oval shape to make them appear correctly when viewed through the lenses. Like this!
That warping compresses the edges of the images, throwing away a lot of the native imagery produced by the GPU. Your graphics card is essentially working harder than it has to. Multi-resolution shading splits the screen into separate regions. The center of the image—where your eyes primarily focus in a VR headset, and where the image isn’t distorted—is rendered at full, native resolution. The edges of the screen, however, are rendered at a reduced quality to take advantage of VR’s necessary warping and distortion, which cuts back on the scaling and lets developers show a scene with far fewer pixels. Fewer pixels pushed means you can get more performance out of your hardware.
And when Nvidia says fewer pixels are needed, it means alot fewer pixels. “It’s between 50 percent and 100 percent less pixel work [compared to traditionally rendered VR scenes],” Tom Peterson, a distinguished engineer at Nvidia, told me when I tried the technology less year.
It works, too. Here’s what I said at the time:
At a 30 percent reduction in pixel work, there was no visible difference with MRS enabled or disabled. There was no drop in fidelity, no sudden jarring sensation or flickering when turning the tech on or off—nothing. It just looked like it should.
In order to truly make the reduced rendering visible, Peterson had to crank the compression up to 50 percent, or half the workload of the same image rendered at full resolution across the board. Only then was the effect noticeable, as a faint shimmering around the very edges of the image. The effect was minimal, however, and that’s when I was specifically looking for it on the edges. When staring at the center of the display, which was rendered at full fidelity, the compressed resolution at the edges could only very barely be seen, no doubt thanks to the way the human eye views images in our peripheral vision with far less detail than what we’re directly looking at.
Powerful stuff indeed. While developers will need to integrate multi-res shading support into their games, Burke says Sólfar Studios has embraced it for its wonderfully terrifyingEverest VR experience, and InnerVision Games is incorporating it in Thunderbird: The Legend Begins.
Day one driver support
But AMD and Nvidia can also take VR performance more directly into their hands, in the form of timely driver updates for new games and experiences.
“Our Game Ready drivers are a magic bullet,” says Burke. “Nvidia invests an enormous amount of time working closely with developers to make sure games work out of the box with our drivers, on the day the game ships. This is incredibly important for VR, as the slightest stutter or performance dip can ruin the experience.”
Nvidia’s earned the right to boast. Its WHQL-certified Game Ready drivers have been unleashed at a blistering pace for over a year. Barely a week goes by without a new Game Ready driver released with day one support for the biggest games hitting the streets. And despite saying that it’d lock those Game Ready drivers to registered GeForce Experience users only by the end of 2016, they’re still freely available for anyone to download on Nvidia’s website. That’s a great thing for gamers. Here’s hoping they stay open indefinitely.
The public perception of AMD’s driver support has suffered in recent years, on the other hand—and rightfully so. Radeon driver releases were few and far between for a while there, with fresh drivers for hot new games sometimes coming days or even weeks after launch. But that’s changed in recent times. Ever since AMD organized the dedicated new Radeon Technologies Group under GPU czar Raja Koduri, driver updates have been flying out with much more frequency and regularity. That’s no coincidence: Koduri’s been beating the drum about software’s importance since he assumed the reins.
“Software is the first thing people see on their screen, the first part of their experience,” AMD’s Sasa Marinkovic told PCWorld late last year while introducing Radeon’s annual feature-stuffed software update, dubbed Radeon Software Crimson. With Crimson, Marinkovic added, Radeon’s “software is as equally represented as the hardware.”
The company’s putting its money where its mouth is, too. I couldn’t track down older software releases on AMD’s software site, so I reached out to representatives for concrete information on AMD’s driver count for the first three months of 2016 compared to the first three months of 2015. Here’s what they had to say:
AMD issued one beta driver in January to March of 2015. In January to March of 2016, AMD issued three WHQL drivers in addition to seven game day one drivers in Q1 2016 for a total of 10. This reflects AMD’s renewed commitment to software with the launch of Radeon Software Crimson. As you may remember from your briefings in the fall, AMD promised to deliver more WHQL certified drivers and game day one drivers for customers and is delivering.
Indeed it is. Here’s hoping AMD keeps it up—its driver release schedule this year has proven very encouraging. And it bears repeating: Timely driver support is crucial for VR gaming, since it’s the most direct way for AMD and Nvidia to ensure that their customers are enjoying the best experience possible in virtual reality.
And what an experience it is! Now that you know the best graphics gear for VR gaming and the under-the-hood tricks that ensure your digital journeys don’t suck (or blow chunks), check out PCWorld’s roundups of the best Oculus Rift and HTC Vive games available at VR’s dawn. There’s a lot to love even in these early days.