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

  • chizow - Friday, August 2, 2013 - link

    No it makes perfect sense. Use a camera if you have to capture how the frames are updated with Vsync Off normally. You will see the "tear" or refresh line differs from frame to frame, with either the top or bottom being refreshed relative to the previous frame. The key distinctions vs runtframes are that the next frame updates where the last one left off and there is significant differentiation between the frames, giving the sense of motion, with tearing.

    Unlike with runtframes, every other frame is a runt or partial followed by a more fully formed frame, so you basically get the effect of 2 similar frames followed by an updated frame due to the runt. This results in the irregular cadence known commonly as microstutter.

    Please see the videos here at PCPer to better understand, all videos were done with Vsync Off, and as you can clearly see, Vsync Off with runts and without are clearly not the same thing.

    http://www.pcper.com/reviews/Graphics-Cards/Frame-...
    Reply
  • krutou - Friday, August 2, 2013 - link

    Runts are due to screen tearing...

    What isn't shown in most reviews because it is difficult to evaluate objective, but the most apparent to the average user is animation smoothness. PC Perspective had a whole slew of videos comparing CF to SLI over most 7000 and 600 series cards and the difference in smoothness between the two solutions was obvious, even though there was no screen tearing.
    Reply
  • vegemeister - Monday, August 5, 2013 - link

    Agreed. It seems to me that this whole kerfuffle is two camps debating what kind of garbage output they'd rather see. The only reasonable way to use frame time logs in a review is discussing the percent of frames that take "too long" at a variety of refresh rates (144Hz, 120Hz, 85Hz, 60Hz, 48Hz, 30Hz, and 20Hz would be a good sampling). Perhaps you would also scale to the refresh rate, to examine how frequently a user would likely see dropped frames. Reply
  • Omoronovo - Thursday, August 1, 2013 - link

    Fantastic article Ryan.

    I did however have a query regarding the comments made regarding the odd issue of FCAT recording high dropped frames and the changes you implemented to prevent this error skewing results. Did you re-run any of the tests on the nVidia results to see if the changes you made to fcat had any noticeable change in the results generated from nVidia cards? Particularly regarding runt frames; as you mention yourself, AMD has reduced runt frames to zero in many cases which is an impressive achievement if accurate, and I would hope by redoing the tests on nVidia data that it proves to remain true (rather than skewing nVidia results as well, which would indicate that the FCAT changes to fix one problem would introduce variancy in the comparion outside the changes made in the driver).

    Like usual, fantastic article from Anandtech, and you in particular Ryan. Hope to read more articles from you soon.
    Reply
  • Ryan Smith - Thursday, August 1, 2013 - link

    Indeed I did, and it made no difference on NVIDIA cards. The FCAT miscounts only occur on AMD cards with the frame buffer issue as outlined in the article. Reply
  • airmantharp - Thursday, August 1, 2013 - link

    Thanks for the great work Ryan-

    I'm still waiting for TR's results to put this all into perspective (always need multiple datapoints), but this bodes very well for those looking at 4k setups in the future. Before this driver was proven, AMD wasn't even in the running, regardless of price.
    Reply
  • TheJian - Friday, August 2, 2013 - link

    The statements here are hilarious (expect nothing less from Ryan these days). He frames it as a 7990 problem, but in reality it was every pair of AMD cards you could throw at a PC. ALL MULTI-GPU situations on AMD are affected and have been for at least a year and a half (always?). 2x7950, 2x7970 etc etc...

    And 7990 wasn't a rough launch. It was awful. We are still waiting for Ryan's FCAT articles. I expect we'll start to see more now, just as I said before many times, AFTER AMD FIXES their problems. Here we are...LOL. No bias at anandtech though...ROFL. Still missing FCAT part 2 article from march. IT was promised in 2 weeks, never happened. Tons of FCAT results left out of most articles due to drivers changing, game problems, patches etc...blah blah...PCper does it for every article and had NONE of these issues. Hmm...Funny that...

    This leaves us with 2 options:
    1. You're either too dumb to use the tool and should just lose your job (say it ain't so).
    2. You're hiding the truth from your users and should have your traffic reduced further as Alexa shows it's off half or so since the 660TI article in sept last year when Ryan said silly things like 'a lot of people are buying Catleap 1440p monitors from ebay from some dude in korea'...ROFL. Umm, no they are not. Still not many today since even in your own 1440p article (again with ridiculous conclusions like buy an AMD A8-5600 for any single gpu card - no Buy Intel!) shows the steam hardware survey which shows less than 1.25% of us use above 1920x1200 and most of those use TWO video cards...LOL.

    No driver launch should be important for a company...ROFL. It's extremely important we don't HAVE TO TALK about your crappy drivers because they didn't take a year or two to make them work. Right? The important thing is that the product is launched WORKING out of the box as advertised.

    "What’s not being addressed in the first driver are the Direct3D 9 and OpenGL rendering paths, along with Eyefinity in any scenario."

    So it's still not working for some people in multiple scenarios (all xp users right? They all use DX9). You act as though high FPS=stutter free. NOT SO. Just because you're hitting 60fps in rage or 90fps etc, that does not mean the customer isn't affected. The problem is SEEING the stutter, not if the game is fast enough when it ISN'T stuttering.

    "and is periodic to the point where it occurs at most a few times per minute."
    So a few times per minute you have to deal with this...Get back to work AMD. NV doesn't do this.

    To summarize, AMD is still stuttering a lot at 20% (assuming you picked 15-20 so they could squeak inside for most games...LOL). But reality is they only made it UNDER 20 for 2 games of the 6 right? BF3 and Crysis3, otherwise they are STILL over even your worst end at 20% (nowhere near 15 on the low-end of that range right?). Also note the card runs 5-10% slower now.

    http://www.pcper.com/reviews/Graphics-Cards/Frame-...

    Better off reading the article at PCper above. AMD said Ryan Shrout was wrong 1/2 dozen times...LOL. That's changed now :) Also as they show Skyrim is affected with or without mods even with the new driver. But the point on this is you don't have to mod it to see stutter.

    Pcper also shows it's been affecting 7970CF (and all other CF users) for ages up to now. Finally they get some relief. However TRIPLE card owners still suffer the same problems:
    "there is a lot of work AMD can do to improve the experience for users tripling their investment."
    "I will be curious if its even possible for AMD to fix the frame pacing issues with CrossFire and Eyefinity this generation.

    Even worse though is that with all the excitement over 4K displays and in particular the ASUS PQ321Q 4K 60 Hz monitor I recently reviewed, the Eyefinity limitation will pop up again in this niche case too. "

    So due to bandwidth he doesn't even think they'll be able to fix this..OUCH AMD. An even bigger OUCH to AMD buyers. He notes in the same paragraph AMD didn't want to discuss it (shocking). WOW.
    "Not only does this driver validate everything we have worked on for the last two years but the fact that AMD has decided to enable the frame pacing fix by default emphasizes that fact even more."

    Funny anandtech didn't start saying anything until March and remained mum on FCAT stuff basically until the fix just as I said they would do.

    http://hardocp.com/article/2013/08/01/amd_catalyst...
    Hardocp isn't as kind to AMD either IMHO.
    "Far Cry 3 was the most inconsistent and choppy. Even with Frame Pacing turned on, it was stuttery feeling, but this lagginess was reduced slightly with Frame Pacing."

    Still having issues.
    "This is definitely a foot forward in the right direction from AMD though, but work still needs to be done."

    Let me know when AMD gets done with all these PHASES so users actually get a REAL DONE driver that should have been in the box or downloadable all along. Working products people, is the reason NV owns 65% of the discrete gpu market today despite all the free games AMD gives away to get you to buy & wait for their drivers to work (which also happens to be why they make ZERO on their gpu division). No mention of AMD's quarterly report again here...Too depressing I guess now. I expect Ryan to cover their Q report again if consoles make them some cash...LOL. But he'll continue to refuse to cover NV's quarters because all that shows is they are giving AMD a whipping in each one.

    Some hardocp conclusions:
    "It also has to be said that NVIDIA has been doing this for years. Though we don't know the exact name for what it does in its drivers, it is known that NVIDIA is doing something to smooth out frame times and make SLI feel good while gaming. There is a reason that we have been saying for years how NVIDIA SLI felt smoother. AMD is just now playing catch up, and it is quite late in the game in our opinion to be playing this kind of catch up. In our opinion this type of technology should have employed years ago. If AMD is serious about improving the gameplay experience, this is one area that needs a lot of attention."
    "In our personal gaming observations, we still observe that NVIDIA SLI is smoother and more consistent than AMD CrossFire with Frame Pacing."
    "AMD has improved its own consistency. We still feel that it lags behind whatever NVIDIA is doing."

    Years later AMD finally getting in the game. Jeez. I'll also remind you ~38% of the public is STILL running windows XP so all of these are forced to DirectX 9 paths. So all of them should by Nvidia cards correct? That sort of blows your whole DirectX9 exclusive (as if nobody would run there) titles out of the water. They don't have to be exclusive if the person running the game can't run dx10 or dx11 (at that point it's DIRECTX 9 exclusive for an XP user right?). Get it? Of course you do Ryan, but it sounded better for AMD saying 'um, well, this never happens so who cares about phase two, everyone is solved today'...I digress...
    Reply
  • boozed - Friday, August 2, 2013 - link

    What happened in your life to cause you to be so bitter and mean? Reply
  • TheJian - Tuesday, August 6, 2013 - link

    No argument with the data though ;) It's comic the first things people do when there is no argument against the data is a personal attack. So stating the facts means you're bitter and mean to you?

    https://en.wikipedia.org/wiki/Ad_hominem
    Please review the chart from Graham, then come back with something at the top of his pyramid instead of the bottom :)
    Reply
  • DeviousOrange - Friday, August 2, 2013 - link

    TL;DR maybe someone will give you the F&*#s you wanted in posting this crap but im allegic to fanboy troll. Reply

Log in

Don't have an account? Sign up now