Let's talk undervolting. Creating a custom voltage curve should both reduce power usage and possibly increase performance (if it reduces Temps enough to get you into higher boost bins). Here is the guide I have created, thanks to everyone who gave feedback and helped get this tested and revised.
Prerequisites: Install MSI Afterburner, 3DMark Time Spy, and BMI Benchmark.
*Changes to the curve should be done when COLD, and frequency adjustments should be made in 15MHz increments, as that is the amount between boost tables. Afterburner will maintain your curve once you set it, but whenever you try to revise it, it will be based on the reading of the CURRENT boost table the card reports, based on temperature. The curve you set is not based on the actual frequency you set, but rather the OFFSET. So +150 on a hot curve may give the same result as only +105 on a cold curve, so we want to be as consistent as possible when making changes to the curve by having the card cold each time. You can accomplish this more quickly by running the GPU fan at 100% when you are waiting for it to come down in temp. You should be able to get it under 35C, the closer to ambient the better.
The end result is this in my case, with an Nvidia RTX 3090:
Obviously this guide exists to help you find more ideal settings in power draw and performance. It is up to you if you want to set your power limit lower or leave it at 100% and benefit from somewhat higher clock speeds in the mid range. I hope you share with us the results you find, and any feedback will be taken in order to revise and improve this guide.
Prerequisites: Install MSI Afterburner, 3DMark Time Spy, and BMI Benchmark.
*Changes to the curve should be done when COLD, and frequency adjustments should be made in 15MHz increments, as that is the amount between boost tables. Afterburner will maintain your curve once you set it, but whenever you try to revise it, it will be based on the reading of the CURRENT boost table the card reports, based on temperature. The curve you set is not based on the actual frequency you set, but rather the OFFSET. So +150 on a hot curve may give the same result as only +105 on a cold curve, so we want to be as consistent as possible when making changes to the curve by having the card cold each time. You can accomplish this more quickly by running the GPU fan at 100% when you are waiting for it to come down in temp. You should be able to get it under 35C, the closer to ambient the better.
- On a cold system (idle at least 10 minutes), open MSI afterburner and reset to stock profile. The default boost curve changes with temperature so being cold is important.
- Press CNTL + F to open the voltage and frequency scale.
- Note the rightmost slider’s frequency. This is going to be our target, but at a lower voltage. In this case, it is 2040MHz.
- Now note the leftmost slider that this frequency appears, usually about 125mV less. In this case, it is 1118mV.
- Increase the frequency of the 800mv slider through the slider found in step 4, in 25mv increments, to +105MHz, but never exceeding the frequency found in step 3. You can see in this case, we achieve the 2040MHz goal at 1000mV, and don't need to go any further.
- Apply the curve using the apply button on the main afterburner window. Your curve should change to something like this:
- Run Time Spy.
- If you encounter a crash, error, or if Time Spy gives a score of 0, the curve is unstable. Allow the system to cool for at least 15 minutes, then start again at step 1, but with 15MHz less, in this case, +90 instead of +105. Do this until you are Time Spy stable, +105, +90, +75, +60, etc.
- Conversely, if you are stable at +105 and want to try to achieve more performance, you can allow the system to cool for at least 15 minutes, then return to step 1, but with 15MHz MORE, +120 instead of +105, and so on, until you encounter instability. Once you do, I recommend removing 30MHz from that point of first instability, to ensure it is stable in various scenarios other than Time Spy. Again, you must wait until the card is cool before making changes to the curve, or they will not apply correctly.
- Once you are Time Spy stable, run the BMI benchmark at the highest resolution your monitor supports, on a loop for 30 minutes. If you exhibit a crash, allow the system to cool for at least 15 minutes, then start again at step one with 15MHz less, but you can skip Time Spy since it has already been tested. Run BMI for 30 minutes and repeat until you do not crash in this test. DFenz has informed me through his testing that Hitman 2 seems to reveal instability better than many other games, so it may be useful for you to test using it as well. The free starter pack is available on steam here.
- Now that you have your curve dialed in, we have found the frequencies at each voltage to have the card work as efficiently as possible. You can adjust the power limit target to whatever you desire, and the card will operate much more efficiently vs stock. 90% power limit with the curve should offer about 100% of stock performance, while 80% power limit should offer about 95%. Going below 80%, performance will start to fall off. Remember, this is the power LIMIT. When not power limited in a game, your card will still boost up to the factory boost clock noted in step 3! This is useful in lower resolution, high FPS, or poorly optimized games, and offers an improvement over setting a single frequency to a single voltage.
- Once you have found settings you are happy with, enjoy the card and play some games. You want to note any crashes so you can correct the curve. Again, changes to the curve should be done when COLD, and frequency adjustments should be made in 15MHz increments, as that is the amount between boost tables. Afterburner will maintain your curve once you set it, but whenever you try to revise it, it will be based on the reading of the CURRENT boost table the card reports, based on temperature. The curve you set is not based on the actual frequency you set, but rather the OFFSET. So +150 on a hot curve might give the same result as only +105 on a cold curve, so we want to be as consistent as possible when making changes to the curve by having the card cold each time.
The end result is this in my case, with an Nvidia RTX 3090:

Obviously this guide exists to help you find more ideal settings in power draw and performance. It is up to you if you want to set your power limit lower or leave it at 100% and benefit from somewhat higher clock speeds in the mid range. I hope you share with us the results you find, and any feedback will be taken in order to revise and improve this guide.
Last edited: