AMD Radeon R9 290X Hawaii - The Configurable GPU?
Why is this happening?
So, there is truth to the idea that simply adjusting the maximum fan speed can change performance on the AMD Radeon R9 290X. What is happening, fundamentally, in the system to allow this? It comes from a variance in the Hawaii GPU's clock speed.
In our first run, the clock was mostly pegged at 1000 MHz with only a few hiccups down to the lower 900 MHz range. This is even true at the 20% fan speed setting.
The second run, though, shows a lot of differences. First, at the bottom of the graph we find the 20% and 30% fan speed settings quickly drop to 727 MHz and never go back above in our test run. In fact, for one test of the 20% setting, the GPU clocks all the way down to 640 MHz!
At 40% fan speed, which again is the default configuration from AMD on the 290X, we see the clock speeds drop from 1000 MHz on the GPU to the 800 MHz range. In the last 15 seconds of our test run, we see jumps from 760 MHz up to the 840 MHz range.
At 50% and 60% fan speed settings, though, the clock speeds are much more likely to stay at 1000 MHz. The 50% option jumps down to the 900s only a couple of times.
Clearly, moving the fan speed slider results in varying performance with this quite variable clock. AMD Markets the 290X as "up to 1.0 GHz" even though, at default settings, we see clock rates under 775 MHz (which is 25-30% lower than the "up to" rating). NVIDIA advertises a base clock and "typical" boost clock with its GPUs; I believe that is something AMD should be doing as well.
It shouldn't be a secret why this happening from a thermals perspective. During the first run, temperatures are still going up and haven't come close to hitting the 95C limit that AMD has put on the Hawaii GPU. During Run 2, though, only the 50% and 60% fan settings are still below the 95C limit (and they will likely hit them for longer game play sessions). The 20% and 30% options actually go OVER the 95C level and, in one case, I saw 99C on the 290X - not great.
NVIDIA has kept its default thermal limit on Kepler to the 80C mark - something that Hawaii actually gets to within the first couple of minutes of gameplay in our Run 1 graph. In order to compete with current GeForce cards' performance, AMD had to be willing to move up the thermal maximum for Hawaii.
Fan speed graphs are interesting as well. During the first run, the 20% and 30% settings reach their limits very quickly.
The Run 2 graph shows us that 20% and 30% levels are just simply not going to work on the 290X. Take a look at the green line that represents 20% - it is actually running OVER 20% the entire time, and in fact runs over 30% and hits 44% towards the end! The same is true for the 30% setting. Clearly the R9 290X is not able to maintain its base clock of 727 MHz with fan speeds under 40% and thus we now know why AMD selected that option for its "quiet" profile. Rather than lower the clocks any more than 727 MHz, AMD instead overrides the maximum fan speed setting of the driver to lower temperatures and maintain a "base" performance level.