When the Radeon HD 7990 first hit the market back in April, it didn’t get the sort of reception one might expect for a graphics card that could easily claim to be the world’s fastest. The trouble it encountered had been brewing for quite a while, as PC gamers became increasingly aware of a problem known as microstuttering that plagues multi-GPU configurations like AMD’s CrossFire and Nvidia’s SLI.
The problem has to do with the fact that frames are rendered in interleaved fashion between the two GPUs. That division of labor ought to work well, at least in theory, but the GPUs can go out of sync, dispatching and delivering frames at uneven intervals. In the worst cases, the two GPUs might dispatch or deliver frames at practically the same time. The second frame doesn’t really offer any visual benefit when that happens, although its presence will inflate FPS averages.
Since the 7990 is a CrossFire-on-a-stick product with two GPUs lurking under its expansive cooler, it’s prone to microstuttering problems just like a pair of video cards would be.
Although we’ve been stalking this problem for a couple of years, we were ready to pinpoint it when the 7990 arrived. We conducted a deep investigation, capturing each frame of animation produced by the card and converting them into detailed, frame-by-frame benchmark results and slow-motion videos. We concluded that two Radeon GPUs were often no better than one, visually speaking—and that AMD’s thousand-dollar Radeon HD 7990 wasn’t really any better for gaming than a much cheaper video card with a single GPU.
There was a ray of hope, though. Our results showed that Nvidia had largely mitigated the worst effects of microstuttering in SLI using a feature called frame metering. Frame metering is what it sounds like: the timing of frame delivery to the display is modified so that new frames are displayed at more even intervals. Generally speaking, this trick works, producing perceptibly smoother animation. AMD supplied us with a prototype driver to use with the 7990 with a similar feature called frame pacing, and we found that it seemed to work pretty well, too. Trouble was, the prototype was based on an older branch of AMD’s driver code, and it was in no state to be distributed to 7990 owners.
Now, at the start of August, has AMD finally released a beta driver with frame pacing to the public. You can grab the Catalyst 13.8 beta here from AMD’s website. This driver comes from the current code branch and adds a few other new features, including application profiles for OpenGL-based programs, full support for OpenGL 4.3, and a 3-8% improvement in Metro: Last Light performance. We’ve been playing with an early build of this driver for several days, and we’ve captured some detailed, frame-by-frame results to illustrate what it does.
This first beta driver does have some limitations. Frame pacing only works with games that use DirectX 10 and 11. AMD tells us DirectX 9 support is coming later, but the company isn’t yet willing to say when that will be.
Also, frame pacing support is limited to resolutions of 2560×1600 and below. Those with 4K monitors—who might be, you know, pretty likely Radeon HD 7990 buyers—will have to wait. Frame pacing at 4K resolutions is “in the works,” but we don’t know when to expect that, either.
We haven’t yet had time to try it, but frame pacing should work with cards other than the Radeon HD 7990—and not just the Radeon HD 7000 series, either. The Radeon HD 6000 series should benefit from frame pacing, and even older cards might, too. AMD couldn’t give us a generational cutoff point for frame pacing support. Maybe that pair of Radeon X850 XT cards I’ve been saving will be rejuvenated!
Speaking of things we don’t know, AMD didn’t have any interest in telling us exactly how its frame pacing mechanism works. We expect that it adds a small amount of latency at some point in the frame delivery process in order keep frame-to-frame display intervals fairly consistent. Beyond that, we don’t have specifics about how this goal is achieved. We do know that frame pacing doesn’t require per-game profiles. Generally, just turn it on, and it works.
In another bit of happy news, frame pacing is enabled by default for CrossFire setups in the Catalyst 13.8 beta. Users may disable it if they choose via the Catalyst Control Center setting shown above. Earlier this year, after we’d pinpointed the microstuttering problem using FCAT, AMD told us frame pacing would be an option, but not the default, because frame pacing can add a very small amount of lag to the user input-visual response loop. Once we saw how poorly the 7990 performed without metering and how effective the prototype driver was, we lobbied AMD to change its policy. Surely most users would benefit from the smoother animation with frame pacing enabled. Fortunately, it looks like AMD eventually agreed with that assessment.
I’m also pleased to report that I didn’t perceive any increases in input lag with frame pacing enabled via the Catalyst 13.8 beta. As for the rest of the experience, well, let’s have a look.
The results on the following pages were collected using the same setup as in our original Radeon HD 7990 review. The only exception is that we tested the Radeon HD 7990 with the Catalyst 13.8 beta, both with and without frame pacing enabled. We’re comparing against older drivers for the GeForce cards (and for the Radeon HD 7970), so be aware that they may have a bit of a handicap. However, our primary focus will be on the 7990 and frame pacing.
Here’s a video of our test run in Tomb Raider, along with screenshots showing the quality settings used. At these settings, especially with 4X supersampling, this game is intensive enough to stress any of these high-end graphics solutions.
Ok, here’s where things get a little complicated. The plots below show frame-by-frame rendering times for each graphics card, as captured with two different tools: Fraps and FCAT. Fraps measures when a frame is finalized by the game engine and handed to the DirectX API, relatively early in the rendering process. Fraps results get us as close as possible to the game engine itself, whose internal simulation timing determines the content of each frame—i.e., where objects are positioned in the game world as they move through time. FCAT analyzes the contents of the screen to tell you exactly when a frame reached the display. Both tools are useful for determining animation smoothness, because an interruption in either frame dispatch or frame delivery can disrupt the illusion of motion.
Fraps and FCAT results tend to correspond pretty closely, generally speaking. They don’t correspond exactly here because we weren’t able to use both tools at once. The results you’re seeing in the plots come from a single test run, conducted manually, with each tool. (We did test three times per tool per card, though, for FPS averages and such.)
The button labeled “HD 7990” will get you results from the Catalyst 13.8 beta with frame pacing disabled, and the button labeled “HD 7990 paced” will show you how frame pacing changes things. Flip back and forth between them, and you can see a dramatic difference. Without pacing, the 7990’s results from Fraps and FCAT both are all over the map. Look at the zoomed-in plots below the main one, and you can see the telltale see-saw pattern that comes from microstuttering. The pattern is very pronounced, too, with frame-to-frame intervals ranging from three to 40 milliseconds and back again.
With pacing enabled, the 7990’s Fraps results still have an intermittent high-low latency pattern, but it’s not a constant problem. The FCAT plot becomes much, much smoother. Tomb Raider appears to advance its simulation time using a moving average or some sort of set interval, rather than simply sampling the current frame time. We’ve found that those relatively small (typically under 40 ms) intermittent variations in the Fraps plots don’t translate into perceptible hiccups or slowdowns. Since the game works that way, I’d give more weight to the FCAT results in the charts below.
If you only care about FPS averages, then the good news here is that frame pacing doesn’t appear to reduce the number of frames rendered over time. If you care about smooth gaming, then the latency-oriented 99th percentile frame time may be the more helpful metric. Frame pacing vaults the Radeon HD 7990 from the middle of the pack to the front ranks, just ahead of its direct rival, the GeForce GTX 690.
Here’s a look at the entire frame latency curve. As you can see, without pacing, the 7990’s curves from both Fraps and FCAT start out low and escalate steadily, matching or crossing the curves from a single 7970. With pacing enabled, the 7990’s latency curves are flatter, and frame times are dramatically lower in the right half of the plot. That avoidance of high-latency frames should translate into smoother animation, so the frame-paced results are much more desirable.
We can look at the amount of time spent working on high-latency frames in order to get a sense of the “badness” in each card’s performance. The more time spent on high-latency frames, the more likely you are to notice a problem. For Tomb Raider, we can ratchet our threshold of badness down to 33 milliseconds, the equivalent of 30 FPS or two display refresh intervals on a 60Hz monitor, and the 7990 with frame pacing still aces the test. FCAT tells us the 7990 with pacing only spends two milliseconds beyond the 33-ms threshold. That’s pretty fluid.
Those are the numbers, and hopefully you have a sense of what they mean. The impact of frame pacing is palpable. When testing this driver, I first played each game with frame pacing enabled, and then I disabled pacing and played the same section again. The difference in the smoothness of the animation was comical. I laughed. With frame pacing, the 7990 delivered a nicely playable experience. Going without pacing after having used it was painful—easily slower and chunkier.
Since we capture each and every frame during our FCAT testing, we can convey a sense of the experience with some videos. I’ve slowed things down to half speed, from 60Hz to 30Hz, so the differences between the solutions should be even more evident. Please do realize we’re using YouTube here, so it’s kind of like filtering espresso through a sock, but I’m hoping you at least get some of the flavor. Ignore the trippy overlay colors, which are used by FCAT to mark each frame. Watch for things like the fluidity of the ground passing under Laura or the motion of her arms and hair, and I think you’ll notice the gap in fluidity.
First, here’s a side-by-side video showing the impact of frame pacing:
Here’s just the 7990 without frame pacing:
Here it is with frame pacing:
And now the GeForce GTX 690:
My hope is that these videos illustrate what we’re talking about reasonably well. See what you think.
Crysis 3 easily stresses these video cards at its highest image quality settings with 4X MSAA. You can see a video of our test run and the exact settings we used below.
The 7990 is a wreck without frame pacing, especially when it when it comes to delivering frames to the display. The jitter pattern is pronounced, with punishing frame times of 60-70 milliseconds on the high side. With pacing turned on, the jitter dissipates both in Fraps and FCAT, leaving the 7990’s latency plot looking similar to a single-GPU solution’s—only with lower frame times.
Meanwhile, the GTX 690’s Fraps results show some stuttering that’s smoothed out by the time the frames reach the display. I understand Crysis 3 uses a moving average of the last 250 ms worth of frame times in determining how much to advance its simulation from frame to frame. As a result, that variance in the GTX 680’s Fraps results shouldn’t have too much of a negative impact.
Frame pacing makes everything better. The 7990 trades blows with the GeForce GTX 690 for the top spot in each of our latency-focused performance metrics.
Once again, here are some videos illustrating the different cards’ performance.
The 7990 without frame pacing:
With frame pacing enabled:
Now the GTX 690:
Finally, the Titan:
The 7990’s stutter pattern should be obvious by this point, and you can see how frame pacing mitigates the problem. Sleeping Dogs is yet another game that appears to use a smart timer to advance its simulation. Those occasional “heartbeat” sequences in the Fraps results, where you’ll see some frame times north of 80 ms, don’t tend to translate into perceptible hiccups as long as the FCAT line is relatively smooth.
The trends in the numbers are familiar by now, but it’s worth pointing out that a single Radeon HD 7970 GHz Edition card is superior to a Radeon HD 7990 in many of our latency-oriented performance metrics when frame pacing is disabled.
Let’s look at some videos. First, the Radeon HD 7970:
The 7990 without pacing:
The 7990 with pacing:
And the GTX 690:
Once again, I think the difference is apparent. Here’s hoping the videos convey that impression.
If you have any sort of graphics setup that relies of AMD’s CrossFire technology, you’ll want to download the Catalyst 13.8 beta and install it right away. Since AMD has wisely decided to enable frame pacing by default, gamers should see the benefits of that feature in any DirectX 10/11 games immediately. Based on our benchmark results, the slow-mo videos we’ve captured, and our own seat-of-the-pants impressions, I think we can say with confidence that AMD’s frame pacing solution appears to work just as well as Nvidia’s SLI frame metering. The Radeon HD 7990’s frame production and delivery results look much more like what you’d get from a single fast GPU—and that’s exactly the behavior you’d want.
AMD still has work to do: extending frame pacing support to 4K displays, DirectX 9 games, and hopefully OpenGL, too, eventually. Also, we refrained from testing Far Cry 3 for this article because of a lingering problem with that game. AMD tells us a fix is coming. This is just the first beta driver release with this feature, so these limitations should come as no shock.
I get the sense that AMD hopes this driver release will restore some of the luster to the Radeon HD 7990. Given how well it seems to work, I suppose that could happen. We don’t often recommend graphics cards that cost nearly a grand—although, hey, this Sapphire model is down to a paltry $920. Dual Radeon HD 7970s will cost less and perform the same. However, I still like a lot of things about the 7990. We’ve only tested three games so far with the new driver, but at least when frame pacing is an option, the 7990 can plausibly claim to be the world’s fastest graphics card. AMD will throw eight (quite decent) games in your face if you buy it, which should be a disconcertingly pleasant experience. And I still think the 7990’s super-quiet cooler is a revelation, although less of one after THG uncovered some overheating issues in smaller enclosures. You’ll need a beefy case with good cooling to house one of these beasts. Still, for the right setup, the 7990 could be a bragging-rights goldmine and a significant source of your daily requirement of buttery smoothness.
Before you plunk down nearly $1K on this glossy black-and-red monster, though, consider that multi-GPU cards like the 7990 are very much hardware-software combo solutions. The results on the last few pages have given us a nice object lesson on that front. Making two GPUs work well together is a constant effort that requires frequent software releases to support new games. With the Cat 13.8 beta driver release, AMD appears to be well on the road to fixing this particular problem.
But realize that literally years have passed since the first forums and tech websites, particularly in Europe, started talking about microstuttering. Nvidia claims to have implemented its frame pacing solution back in the G80 generation of cards, a claim we still need to confirm. We know AMD did nothing back then. We first talked to AMD about microstuttering nearly two years ago, for our first Inside the second article. We illustrated the problem with frame-by-frame plots at that time. Evidently, AMD did nothing. Only when we irrefutably pinpointed the problem at the display level with the aid of the FCAT tools supplied by AMD’s competition did Team Radeon begin taking microstuttering seriously. Work on a driver fix finally began. With this issue exposed for all to see, the firm went ahead and released the Radeon HD 7990 to consumers when a fix was months away—and marketed the product on the basis of FPS scores, a metric multi-GPU solutions with microstuttering essentially inflate artificially.
There is a lingering question of trust here. If another issue crops up with multi-GPU configs that impacts gameplay but isn’t easily quantified, will AMD do the right thing for its customers? I’m afraid I can’t make any plots or high-speed videos to answer that one. You’ll have to make that call yourself.
I make no attempt to meter the timing of my output on Twitter.