AMD introduced a feature called Frame Rate Target Control (FRTC) into its drivers with the launch of the Fury X. FRTC allows you to select a limit for the number of frames your graphics card will render in a single second. With the release of the Crimson driver series AMD has updated this feature. Initially FRTC could only limit 3D frame rates is DirectX 10 and 11 games. Now it can limit frame rates in DirectX 9 games. The original version of FRTC could also only limit frame rates to between 55 and 95 frames per second. The current version allows you to choose a limit anywhere between 30 and 200 frames per second.
We did some initial testing with FRTC and AMD’s Fury X back in June. At the time we found that we could save about 23 percent of the power they would have used in DirectX 11 games by capping our games at 60 FPS to match with our monitor’s refresh rate. Logic here being that rendering frames that could never be displayed by our monitor was entirely pointless and a waste of power. We believe that this argument still holds true. But we are back here today with a 144 Hz monitor, DirectX 9 games, and AMD’s improved FRTC to test.
FRTC Use Cases
According to Steam’s hardware survey the most popular monitor resolution is 1920 by 1080 at 35 percent of users. 2560 by 1440 monitors although increasingly popular have still yet to eclipse the popularity of 1920 by 1200 monitors at 1.5 percent of the Steam install base. Thus there are two use cases we’ll be exploring in this article that of gamers with normal, 60 Hz, refresh rates and those with high refresh rate panels, in this case 144 Hz.
We are using the same X99 based test system we detailed in our initial Fury X review. We’ll be verifying that AMD’s FRTC is working using the FPS counter built into the Steam Alt + Tab overlay. Our monitor is BenQ’s XL2420Z which is a 24″, 1080P, 144Hz, TN panel with Lightboost enabled. Power consumption will be measured at the wall with a Kill A Watt EZ.
For the sake of transparency, we want you to know that AMD provided the R9 Fury X we’ll be testing today. Intel, Gigabyte, and Corsair provided our CPU, Motherboard, and RAM in that order. All the other parts we’re using were purchased at retail without the knowledge or consent of those companies. As always you can find our raw testing data on OneDrive. We took no outside input during the creation of this article.
The Trouble With FRTC
In our testing we discovered a number of interesting things about how FRTC behaves. First off FRTC has an annoying habit of resetting itself to 55 FPS which is its default. This behavior occurs repeatedly when we selected a target, disabled FRTC, and then re-enable it with the same target. Radeon settings would display the previous target as the current target until you closed the app. Upon reopening the app it would show the 55 FPS default. As a follow-up critique why did AMD chose 55 FPS as the default for FRTC, why not 60 FPS? Which should be the most common configuration for this feature.
We first ran TF2, a DirectX 9 game, with FRTC disabled and saw frame rates in excess of 200 FPS. Then we enabled FRTC with a limit of 144 FPS and saw frame rates between 140 and 142 FPS. Then we bumped the limit to 150 FPS and saw frame rates between 144 and 147 FPS. So we bumped the limit again to 200 FPS and saw about 190 FPS. It was hard to tell exactly what was going on here. So we gathered more data.
The long and the short of our testing here is that there appears to be a ~3 FPS gap between what the FPS limit we’re setting using FRTC and the highest FPS that TF2 is reporting. With the data we have so far we can’t tell if this is an issue with TF2 reporting its own frame rate or with FRTC not setting the correct limit. So we broke out FRAPS in an attempt to verify what’s going on. FRAPS reported the exact same frame rates as TF2’s ingame counter.
Using this [(display refresh rate) + 3 = FRTC FPS Limit] formula we set our limit to 147 FPS and saw our frame rate consistently top out at 144 FPS using both the ingame counter and FRAPS. Of course we also saw drops down into the 120’s and 130’s and that’s not what we would consider a good experience. What we’re trying to achieve here is a rock solid 144 FPS.
To remedy this problem we decided to revise the above formula to give TF2 a little breathing room. Given that our refresh rate is 144 Hz which is a multiple of 24 Hz an extra increment of 24 FPS as a buffer struck us as a good idea. Our formula is now [(((display refresh rate / base increment ) + 1 ) base increment ) + 3 = FRTC FPS Limit] where our display refresh rate is 144 and our base increment is 24 which gives us 171 FPS.
Using this number as our FRTC limit and with Vsync disabled in TF2 we never saw any drops below 144 FPS and almost no screen tearing with a consistent frame rate of about 158 FPS.
Saving Power with FRTC
Now that we’ve characterized how FRTC effects frame rates in TF2 and configured it to meet our standard for user experience let’s explore how FRTC has affected our test system’s power consumption. With no FRTC limit we saw 210 Watts and with our limit we saw only 156 Watts at the wall. In case we saw that power consumption cut by about a quarter.
Moving to Counter-Strike: Global Offensive power consumption we can see that power consumption is cut by about a tenth. Just as in TF2 the FRTC limit FPS did not correlate directly with actual FPS cap in the game.
Our next game was Depth. Unfortunately our Fury X isn’t quite powerful enough to render 144 FPS all that often in this game. Thus when it was limited with FRTC we saw 140 Watts consumed and while it was uncapped we saw only 150 Watts consumed.
Having run out of DirectX 9 games that we both like to test and that our Fury X can run at ~144 FPS let’s take a look at the other use case we identified 60 Hz monitors.
Going back to TF2 we set our FRTC limit to 60 FPS and tested the game. This time TF2’s internal counter and our FRTC limit agreed. We saw power consumption of about 117 Watts. With no limit in place we saw power consumption of about 180 Watts. This is about a sixty Watt gap and cutting power consumption by a third is rather impressive.
This seems as good as any place to conclude this article. If you already run your games with Vsync enabled then you have little to gain from using FRTC. If you don’t use Vsync then FRTC can save you a bit of power consumption. The power savings that FRTC provides are more pronounced lower you set the target. While FRTC worked just fine for setting a limit at 60 FPS it had trouble setting a limit at 144 FPS where we noted that there was a significant gap between the limit we set using FRTC and the effective limit in our games.
While it’s great to see the FRTC now works on DirectX 9 apps it’s unfortunate that AMD has yet to support OpenGL games. Additionally FRTC while interesting has a very limited use case. Most gamers will have Vsync enabled in their games to prevent screen tearing. This effectively limits the GPU to drawing the same number of frames as the monitor can display and provides the same power consumption benefits that we saw with FRTC.
For gamers that don’t want to use Vsync for input lag reasons rather than making FRTC a slider as it is now a simple checkbox that caps the frame rate at the monitors refresh rate would be more intuitive especially given the vagueness of FRTC’s cap at higher frame rates. Smoothness on non-Freesync displays is a problem that AMD can do more to address. The introduction of FRTC is a good step but what gamers really need is a solution functionally similar to RadeonPro’s Dynamic Vsync which enables and disables Vsync as necessary based on the current frame rate.
FRTC is Cool, But it’s Not for You
In the end FRTC is an interesting feature with a very limited set of use cases. It’s a feature that makes sense in a world where input lag and power consumption are paramount. But for most Radeon owners, that’s not where they find themselves. Rather maintaining smooth rendering is key and that’s not something that FRTC addresses directly.
On the other hand we’re happy to see that AMD is continuing to iterate on this feature unlike some of the other things they’ve introduced in prior generations like MLAA. The features that really need to be integrated into Radeon Software are already present in RadeonPro; Namely Dynamic Vsync and SMAA.
Does FRTC save power over uncapped rendering? Yes, quite a bit of power actually. Will most people actually use FRTC? No, because enabling Vsync is easier and provides the same power savings at the cost of negligible input lag. Is FRTC worth bothering with? For most people the answer is no. But if you’re the kind of person who doesn’t use Vsync then FRTC is quite nice.S|A