In Summary: The Frame Pacing Problem

Before we dive into the technical details of AMD’s frame pacing mechanism and our results, we’re going to spend a moment recapping the basis of the frame pacing problem. So if you haven’t been keeping up with this issue, please read on, otherwise feel free to jump a page.

In brief, in multi-GPU setups, be it single-card products like the GTX 690 or multiple cards such as a pair of 7970s, the primary mode of splitting up work is a process called Alternate Frame Rendering (AFR). In AFR, rather than have multiple GPUs working on a single frame, each GPU gets its own frame. This method has over time proven to be the most reliable method, as attempting to split up a single frame over multiple GPUs (with their relatively awful interconnect) has proven to be unreliable and difficult to get working. AFR in contrast is by no means perfect and has to deal with inter-frame dependency issues – where the next frame relies in part on the previous frame – but this is still easier to implement and more consistent than previous efforts at splitting frames.

However due to the mechanisms of AFR, left unattended it can significantly impact the intervals between frames and consequently whether stuttering is perceived. To do AFR well it’s necessary to pace the output of each GPU such that each GPU is delivering a rendered frame at as even a rate as possible; not too soon after the previous frame, and not too late such that the following frame comes up quickly. In a 2 GPU setup, which is going to be the most common, this means the second GPU needs to produce a finished frame when the first GPU is roughly half-way done with its current frame. Should this fail to happen then we have poorly paced frames that will result in perceived micro-stuttering.

Micro-stuttering has been a longstanding issue on multi-GPU setups. Both NVIDIA and AMD have worked on the issue to various degrees, but at the end of the day multi-GPU setups have never proven to be as reliable as single-GPU setups, which is why our editorial position on the matter has been to always favor single powerful GPUs over multiple GPUs when at all possible. Consequently it’s impractical to fully solve micro-stuttering and achieve frame pacing consistency on level with single-GPU setups, but it’s still possible to improve on previous methods and achieve a level of frame pacing that is reasonably effective and “good enough” for most needs. This is what AMD has been focusing on for the past few months.

Moving on, how AMD ended up in this situation is effectively the combination of three factors. The first of course being the innate technical challenged posed by AFR, while the second and third factors have been a poorly realized position on lag vs. consistency and a failure of competitive analysis respectively.

On the former, AMD’s position up until now has been that they’ve favored minimizing input lag in their designs. If you need to hold back a frame to better pace it, then you are by definition introducing some input lag, a quality that is generally undesirable to a user base that usually avoids mechanisms like v-sync for that reason. AMD’s position hasn’t been wrong of course, but it has come at the exclusion of allowing a bit of input lag to better manage frame pacing. AMD’s decision then has been to lighten up on this position and dedicate the resources to deal with both approaches. AMD would introduce advanced frame pacing as an optional control, while leaving the simpler, less laggy approach as another option.

Meanwhile the story with competitive analysis is far less complex. Simply put, AMD wasn’t testing for frame pacing as part of their standard competitive analysis, so when these results first broke AMD was caught flat-footed. This is a business failure rather than a technical failure, which makes it easy enough to resolve. But it’s also the reason why AMD needed time to develop an advanced frame pacing mechanism, as they had never seen the need to develop one before.

Ultimately this is a problem that should have never happened, and it is unfortunate that AMD let it come to this. At the same time however we believe it’s never too late for redemption, and AMD has been making all of the right moves to try to achieve that. They have been clear about their failures and shortcomings, including their frustrations that they’ve left performance on the table by not looking for these issues, and they have been equally clear in laying out a plan for how they would go about fixing all of this. So today we will finally get to see first-hand whether AMD’s initial efforts for resolving frame pacing in multi-GPU setups has paid off.

AMD Frame Pacing Explored Catalyst 13.8 Beta 1: The First Multi-GPU Frame Pacing Driver
POST A COMMENT

102 Comments

View All Comments

  • mwildtech - Friday, August 2, 2013 - link

    Are you still signed into AOL...? ;) I also haven't had many issues with either, at least from a single GPU perspective. Reply
  • kyuu - Friday, August 2, 2013 - link

    What a surprise, the AMD-bashing trolls are out in force with long rants that nobody will read.

    Give it a rest guys.

    Anyways, great write-up Ryan. Good to see AMD is getting the issue taken care of.
    Reply
  • chizow - Saturday, August 3, 2013 - link

    Except in this case, "AMD bashing trolls" helped fix your CF drivers. A simple "thank you" would have sufficed. Reply
  • TheJian - Tuesday, August 6, 2013 - link

    ROFL...I sincerely thank you for the laugh ;)

    I liked many products over the years but have been saved by vocal complainers pointing out things to make me run, or at least wait until fixes come. I waited for RROD to get fixed with Jasper. Years of complainers finally got a fix (it took so long I started doubting I'd ever own one). My friend who jumped on x360 early shipped his back multiple times in the first year. I believe it spent more time at MS than in his house...LOL. He was a vocal complainer in their forums etc but I never called him a MS bashing troll for it. I laughed and thanked him for being one of the people who saved me years of that frustration :) He only thought that was funny after some beers...LOL

    Thankfully he has a great sense of humor. He's ready with forum accounts everywhere he thinks the complainers will be for xbox1 this time (complainers have value people). But he expects to be a reader this time rather than the complainer ;) I think he'll go PS4 in the end despite the MS love he has vs. Sony. His wallet has no trouble voting against his fanboy thoughts.

    I'm torn over the consoles though. I'd love to see AMD start making some cash, but at the same time I'm pretty unhappy they blew a wad of R&D money on something I want completely dead instead of cpus/gpus/arm socs. Had that R&D went to PC's I don't think I'd be making these statements dissing AMD. At the least they could have kept the layoffs from happening (losing 30% of your smartest people will shaft us on PC's for a few years at least and longer if consoles don't take off by the millions), and had good drivers all last year. That also might have given them a better reputation thus not needing to give out free games that are clearly wiping out profits (Q report shows this). AMD has a great gpu. It's a pity they didn't have enough funding for R&D to pair it with a great driver from day1 and funding to avoid the Fcat disaster. Even if it affects a small group it causes a lot of people to paint your other products with that image.
    Reply
  • Steveymoo - Friday, August 2, 2013 - link

    Interestingly enough, I seem to remember my GTX 460s having microstutter and performance issues in SLI. To the point where your experience in twitch games would be better if you just disabled on of the GPUs. However, over the years, and many driver updates, I don't seem to notice it any more. Nvidia really must have quite a talented software team, who communicate well with the hardware division. I would say there might be some kind of company structure issues for an issue such as this to go unnoticed, and un-fixed for such a long time. Reply
  • anubis44 - Friday, August 2, 2013 - link

    Ssshhhhh! TheJian will be all over you like a duck on a june bug! Remember, Nvidia's drivers are always perfect! They never make any mistakes...

    ...well, except for the chronic problem I had with the GTX670 card I bought for my 3 monitor setup - kept requiring about 20 steps to get all three screens to display due to bad default refresh rate/synch issue in the Nvidia driver. Got so frustrated having to go through 20 steps every time I updated to a newer driver that I sold the card for close to what I paid (~$400) and bought a Gigabyte 7950 for about ~$100 less and flashed the bios to 1050MHz. 3 monitors in eyefinity set up in about 5 minutes in the Catalyst control panel and not a problem since.
    Reply
  • DanNeely - Friday, August 2, 2013 - link

    Are you using display port monitors or an active DP-DVI adapter for your third monitor? If the latter, has it finally gotten plug and play vs the problems when it first came out? I was never able to get an adapter to work with my 5870; and since my setup wasn't EF compatable anyway (2x 1200x1600 1x 2560x1600) ended up cutting my losses with a 5450 for the 3rd monitor and went nVidia for my next GPU in response. Reply
  • krutou - Friday, August 2, 2013 - link

    Nvidia is known to suck at multi-monitor support because AMD was the first to develop the technology. One of AMD's few strengths is Eyefinity support. Reply
  • TheJian - Tuesday, August 6, 2013 - link

    From the article (and this is repeated at every site reviewing the drivers):
    "So what’s being addressed in phase 1? Phase 1 is being dedicated to Direct3D 10+ games running on a single display. What’s not being addressed in the first driver are the Direct3D 9 and OpenGL rendering paths, along with Eyefinity in any scenario."

    So Eyefinity has issues and isn't even touched with phase1. At the very least AMD is the opposite of strength with eyefinity for now. Phase2 maybe? ;)
    https://en.wikipedia.org/wiki/File:Graham%27s_Hier...
    You've stated a point without backing it (4th, green).

    Refutation:
    I found your mistake and explained why it is one and backed it with a direct quote (from this article no less...ROFL) thus proving my point ;) That's the purple one :) But I'm pretty sure I made it into the grey anyway. Your central point is debunked. But I can live with purple if it makes you feel better.

    Being first has no bearing on who is better later. Horses got us from point A to B first, long before cars right? But that didn't stop a car from blowing them away later. I could say the same about the first car engine vs. say a Lamborghini engine today. First doesn't mean best.
    Reply
  • TheJian - Tuesday, August 6, 2013 - link

    Why, he's pointing out reality and what most sites point out. All multi cards had issues for a while and still do. NV just spent a lot more to come up with the tools/software to fix it as best as possible (and I'd still go single potent vs. even NV multi given a reasonable choice). You're mistaking an accurate product complaint for fanboyism. That is not what my complaints are. There is no reason to attack his comment as I already know it's at least partially true for all CF/SLI and the fix is proven (so is AMD's lack of it up to now, and still having issues with 3 cards).

    Would you feel better if I ranted on Bumpgate for a few paragraphs? When a company sucks I point it out. I don't care who it is. Caminogate anyone? I ranted then too. Win8, don't get me started, Vista...(fista? Nuff said). I have equal hate for all crappy releases no matter how much love or hate I have for a company (I hate apple's tactics & pricing, but they do generally have a good polished product). If AMD releases a great 20nm product and NV sucks I will RAVE for AMD and shout at the top of my lungs how NV's product sucks. Based on R&D I doubt NV will suck but AMD can still get out a good product, I just need proof at this point due to lack of funds/engineers pointing to a possible problem launch again.

    Comically you miss the entire point of any of my posts (which are backed by data from other sites etc), then rant yourself on NV. Congrats though, at least you made it to the 4th rung here (well sort of):
    https://en.wikipedia.org/wiki/Ad_hominem
    But not without making the 2nd worst type of argument first...ROFL. You're not outing me here, you're outing yourself.
    Reply

Log in

Don't have an account? Sign up now