Skip to main content

Tweaking an RTX3060ti for a quieter life (Undervolting)

The RTX3060ti I "borrowed" from my wife's Dell XPS machine is a great card for 1440p gaming but the twin fan cooler gets quite noisy when it is pushed hard. This post will explain how I managed to reduce the audible noise while maintaining performance using MSI afterburner. 

The Parameters

First a bit of background information. The three most important parameters are:

1. Fan Speed:  The louder the fan spins the noisier it gets. In my experience anything below 1000rpm is very quiet while anything above 2000rpm is intolerably noisy. I like my fans to idle below 1000rpm when the PC is not being stressed and I like them to stay as far below 2000rpm as possible when being pushed hard. Long ago PC fans ran at fixed speeds but nowadays they are nearly always controlled using a fan curve dependent on GPU temperature (or CPU temperature for CPU fans). The hotter the component gets the faster the fan spins. 

2. GPU (core) clock speed. Simply enough the higher the clock speed the faster your GPU pushes pixels. The days of fixed  clock speeds are long gone. Modern GPUs vary their clock speed within limits depending on how hard they are being pushed.  If you are working on the desktop in 2D then the GPU will idle along at low clock. Start playing a graphically intensive 3D game though and it will ramp up the clock to maximum to cope with the demand for higher frame rates.  This adjustment of clock speed can be thought of as a kind of automatic overclocking so you might ask what room is left for the amateur tweaker to influence things. Well the key phrase here is that the GPU will vary the clock "within limits". If we know what the limits are and can make adjustments to them we can influence the process. We will discuss these limits in some detail below. A very important point though before we move on is that the faster a component runs the more power it consumes and the hotter it gets. This explains why your GPU gets noisier when you are playing games. The GPU clock speeds up leading the GPU to get hotter. The fan controller curve sees the hotter GPU and speeds up the fans as dictated by the fan curve. 


3. VRAM (memory)  Clock speed. All the information being processed by the GPU needs to be read from and written back to the video ram. If the memory is too slow it can bottleneck performance. There have been several notorious cases of manufacturers pairing GPUs with ram so slow that it crippled performance. Thankfully this usually only happens at the budget of the market. Once you get to mid range and higher consumers are more sensitive to actual benchmarks and manufacturers generally try to balance memory and GPU performance. This does mean however that in order to get full value out of overclocking the GPU you should really overclock the video ram as well. If you have ever tried overclocking regular CPU ram then you will know that it is a complex process involving dozens of hidden timings. I have no reason to believe that there is not an equally intimidating number of timing parameters for vram but I don't think they are user adjustable. The tool I am using (MSI afterburner) just has a single slider allowing the fixed vram clock speed to be adjusted. 

The Limits

So the three most important parameters are fan speed, GPU core clock and VRAM memory clock. The goal of this exercise will be to keep fan speed as low as possible while keeping GPU clock and VRAM clock as high as possible. Easy right? Well remember those limits I talked about? Lets look more closely at them. 

1. GPU core temperature limit. In order to prevent damage due to overheating the core temperature limit will dial back the core clock frequency if the GPU ever hits a pre-set temperature limit. Higher clock speed causes the core to heat up so reducing the clock will cool it down. This is an effective means of preventing the GPU from overheating. 

2. GPU clock stability limit. Even if you manage to super cool your GPU you still cannot keep increasing the core clock without limit. Eventually the system will become unstable. Graphics start to get corrupted. programmes crash or even your PC reboots. The stability limit is dependent on the silicon lottery and you cannot predict it in advance. You can only determine it by trial and error: gradually increasing the frequency to the point where corruption or a crash occurs. A key point however ever is that you change the stability limit by varying the Core voltage (overvolting and undervolting). More  on this later. 

3. Power limit. The power limit sets an overall limit on the power that the GPU will consume. In general the more power something handles the hotter it will get so the overall power limit is a very useful limit. It not only protects the GPU core but it also protects all the other components such as the connectors, the tracks on the board and the voltage regulators (VRMs). It even protects the other components of your computer by ensuring that the GPU is not drawing too much power from the power supply or motherboard.  The power limit is implemented in a similar manner to the core temperature limit. If the limit is exceed the clock speed is dialled back. This reduces power draw as well as reducin core temperature. 

4. VRAM limits. There are generally no adjustable limits for VRAM but ram does have its own stability limit. If you increase the VRAM (memory) clock too high then graphical corruption or a crash will occur. This limit can only be determined by trial and error. 

The Impact of Core Voltage

When I discussed the GPU stability limit I hinted that we could influence this to some extent using the core voltage. Now it is time to discuss this in slightly more detail. 

GPU Core Voltage Electronic systems process binary data using signals that switch from a low voltage  (representing 0) to a higher voltage (representing 1). In an ideal world the transitions between 0 and 1 and back again would happen instantly producing nice straight edged square pulses. In reality though the transitions take some time so the voltage ramps up and down over time. In fact the transitions can often be curved with a few wobbles along the way. At low clock speeds this is not a problem because the transition time is still a small fraction of the overall pulse width and the signal still has plenty of time to settle into its final 0 or 1 value. Increase the clock speed however and the pulse widths get shorter (so you can have more of them in a second). Eventually the pulses get so short that the transition time becomes a real problem. If the signal doesn't have enough time to change between 0 and 1 and back again then the signal gets corrupted and everything crashes. This is the cause of the clock stability limit. These transitions are powered by tiny currents flowing in the electronic components and increasing the core voltage increases the current thereby speeding up the transitions. Therefore increasing the core voltage increases the stable clock speed. Unfortunately we cannot just keep increasing the core voltage. Too high a voltage you can cause permanent damage to a chip. Even before you get to that level though you are likely to  run into temperature and power issues. The power consumed by a chip depends on its clock speed but it also depends on the voltage and the current. Increasing the voltage to allow an increased clock increases the current draw as well resulting in a triple whammy to power consumption. As a rule of thumb you can expect power consumption to go up in proportion to the square of the voltage times the clock frequency. Increasing voltage by 10% to get a 10% increase in clock speed could result in a 33% increase in power consumption. 


The misunderstood Core Voltage versus Clock Speed curve. The RTX 3060ti and presumably other graphics cards, do not use a fixed core voltage instead they vary the core voltage depending on clock speed. This allows for the coolest, quietest operation when the GPU is idle as both clock speed and core voltage are low. When the GPU is pushed clock speed goes up and core voltage goes up to keep the system stable at this higher clock speed. MSI afterburner allows you to see the core voltage versus clock speed curve and manually edit it. Unfortunately the standard presentation of this curve has core voltage on the X-axis and clock speed on the Y-axis which I think is misleading.  The current presentation of this curve gives the impression that you can directly adjust the clock speed up and down by shifting the curve up and down the frequency axis. Indeed Afterburner has an actual slider called Core Clock which does just that. Despite the name of the slider this is not a direct adjustment of clock speed. This slider adjusts the relationship between core voltage and clock speed. This changes the power draw and core temperature at any given clock speed. The maximum clock speed is determined when either the power or core temperature limit is reached. Adjusting the core clock slider will impact the operating clock speed but only in a very round about fashion. 

 It would  makes more logical sense to me to show clock speed on the X (independent) axis and Core voltage on the Y( dependent axis). The main function of this curve is to tell the GPU what core voltage is required to ensure stable operation at a given frequency. If you set the voltage too low you risk instability. If you set it too high you consume more power and run too hot.

Pulling this information into practise

Tools: 

A room thermometer

Techpower up GPU-Z to monitor clocks, fan speed, power drawn and temperatures

MSI afterburner: To adjust the parameters. 

A Graphically intensive game of your choice

A benchmarking tool of your choice (eg 3D mark) 

Step 1: Benchmarks 

Set card to complete default and run a graphically intensive game. Run a section of the game for long enough for temperatures to stabilise and then measure and record the parameters below. Then run your favourite benchmarking tool to get a baseline score for the card in default condition. Run it three times and take the average.  

1. Room temperature

2. Framerate if uncapped (optional) 

3. Core temperature

4. Core clock

5. Fan speed

6. Core voltage (optional)

7. Default core temperature limit (from MSI afterburner)

8. Default GPU power limit (from MSI afterburner)

9. Baseline benchmark score.

Note: At this point it should be clear that the card is hitting either the core temperature limit or the power limit. If it is not hitting either of these limits then you should increase the graphics settings or run a more demanding game to ensure at least one limit is reached.  

Aside:  If you have a well ventilated case in cool room then you will probably hit the power limit first. If your ventilation is poor or if your room is very hot then perhaps you will thermal limit. 


Step 2: Determine your fan speed tolerance 

I prioritise quietness over raw performance so fan speed is the most important parameter to me.

Exit all programmes except for GPU-Z and MSI Afterburner. The GPU fan should run at its slowest quietest speed. 

Set MSI Afterburner to manual fan control (switch off the button marked A for auto fan). Adjust the fan speed up and down and get a feeling for what it sounds like at each speed. Don't forget to press the  "Apply" button after every adjustment and allow some time for it to settle at the new speed after each change. There may be a hard limited lower fan speed but the most important thing is to determine what is the normal fan speed you are comfortable with during gaming. Remember that a lower fan speed will make it harder to maintain high GPU performance so be realistic in your preference. 

Step 3: Choose your temperature limits. 

We need to pick three values of core temperature. The first is the core temperature limit at which the gpu will dial back clock speed. The second which should be lower than or equal to the first, is the temperature that you are comfortable for the GPU to run continuously at when gaming hard. The third which should be higher,  is the temperature that the fan speed will go to 100%. This value should never actually be reached (because clock speed will be limited when the GPU reaches the limit temperature) but it is more of a safety net to turn on all the fans if things get too hot. 

The quickest and safest way to choose thee values is to take the default values because you know these values are safe. You can find these in MSI afterburner as follows: 

- Set everything to default and on the main screen read the core temperature limit.

- Choose your desired normal operating temperature on load to be a few degrees below the first temperature. 

- Go to settings-fan and look for the default fan profile. Check the temperature at which your fan speed will hit 100%. 

If you are feeling more adventurous then you can look up safe continuous operating temperatures for your GPU and choose your limits accordingly. This may buy you a little more operating headroom but do this at your own risk. For reference my DEL RTX 3060ti has a default temperature limit of 83°C and the default fan curve goes to 100% at 90°C. I adjusted this to 85°C and 95°C respectively but my fan curve ramps up very rapidly after 90°C and remember that I never expect the core temperature to ever rise above 85°C anyway.  During heavy gaming my GPU runs at about 80°C at normal room temperatures. 

Step 4. Create your own custom fan curve

You implement a custom fan curve in MSI afterburner by going into the settings-fan menu and choosing "Enable user defined software fan control" and the creating a custom fan profile by clicking and dragging the points on the curve. You may have the option of "firmware control mode" which implements the fan curve directly on the gpu rather than in the external software. Firmware mode is possibly more responsive because it is implemented directly on the GPU but it also limits you to a less complicated control curve. 

The simplest fan speed curve which still works quite well is a horizontal line at minimum fan speed (which should be very quiet, say 30% or so) up to a certain temperature and then a straight line from their up to 100% at your chosen 100% fan speed temperature. The key point is to ensure this second line goes through a point at your chosen normal operating temperature and normal fan speed. If you like you can have more break points on your curve. An advantage of this is that it can allow you to have a gentler slope on the curve around the regions of normal operation. A gentler slope means that the fan speed won't modulate up and down as rapidly when the temperature fluctuates around the operating point. The key thing is to ensure that whatever curve you end up with goes through the desired fan speed / core temperature operating point as well as the desired 100% point. 

When happy hit apply. You can save this to one of the Afterburner profiles if you like. 

You can test the new fan curve at this point by running your graphically intensive game. If you are lucky the gpu temperature won't exceed your chosen operating point and the fan speed will stay below your chosen value  If this happen you can happily stop now. Job done.  It is more likely however that the new lower fan speed will not be sufficient to cool the GPU and instead the temperature will rise above your chosen operating point perhaps getting all the way to your chosen value of thermal limit with correspondingly higher and noisier fan speed. If this happens we need to press on. 

Step 4. Reducing the power limit

If your desired fan speed is not enough to cool the GPU then we need to lower the power limit to bring the temperature down. MSI afterburner allows power limit to be adjusted directly on the front panel. Make sure your new fan curve is active and remember to hit apply after power limit change. Test the performance of each new setting with your graphically intensive game. Try bringing the power limit down in 5% increments. Keep adjusting until the core temperature on load is lower than your chosen value. 

By lowering the power limit you are degrading he performance of your GPU. We may be able to recover some of this performance in the next step (undervolting) but if you find yourself reducing the power limit too far (say to 80% or below) then perhaps you are being too ambitious. Did you pick too low a value of normal operating temperature? Don't be put off by people declaring that their GPU runs at 50°C on load. Modern GPUs will happily run all day at 80°C. Alternatively you may need to live with a faster noisier fan speed. Keep iterating till you get a combination you can live with. 

Step 5. Recovering some lost performance with undervolting.

If you had to reduce the power limit in step 4 to get your desired combination of operating temperature and fan speed then you have lost some CPU performance. We can recover some or all of of that by reducing the core voltage. Reducing the core voltage will allow the GPU to run at a higher core clock for a given level of power limit. Of course if you reduce the core voltage too much then the system will become unstable so you will need to adjust by trial and error to find the sweet spot. Be prepared to have a few crashes along the way as you test for the limits of stability. The RTX 3060ti uses a curve to determine its core voltage for a given frequency so the  easiest way to adjust the "Core Clock" slider in MSI afterburner. I think this is a very misleading label because what it actually does is reduce the core voltage at any given frequency but regardless it allows you to adjust the relevant curve. Adjust it in upwards in small steps (say 10 MHz) and test. If the system crashes or you get graphical anomalies dial back a couple of steps. If you are feeling brave you can go in and edit the curve more directly.  Remember to hit apply after every change and test regularly. 

Your should be able to recover most of the lost performance due to the lower power limit and if you are lucky you may even be able to get slightly better performance with the new lower voltage curve. 

Step 6. Memory overclocking (optional) 

Overclocking the memory will also help performance a bit but memory overclocking is a trial and error process. MSI afterburner allows you to overclock the memory directly with a slider. I don't have much advice to offer here other than to adjust in small steps and test after every adjustment. In my case I ended up using the same MHz figure for memory slider as for core clock slider. This doesn't  make sense because they are not really related in any meaningful way but it worked for me. 

Step 7 Test test test

When you have got a working solution then make sure it is all saved in one of the profiles of MSI afterburner and applied. You can even set after burner to run on windows start up if you like. Run the full gamut of tests from step 1 again to make sure everything is stable and that you have achieved your objectives. Watch out for any graphical anomalies or programme crashes that would indicate that you have been too aggressive on either the core clock slider or the memory clock slider. Dial back if required. 

My results

For those interested my configuration following this process is

Core overclock +140MHz

Memory Overclock +140MHz

Power Limit 90%

Fan Speed curve 30% up to 60°C rising to 68% at 90°C rising to 100% at 95°C

Default configuration was operating temp of 77°C with fan speed 73% (Ambient 27C)

This setting has operating temp of 82°C with fan speed 57% (Ambient 27C) 

(Note we are experiencing an unusually warm week in Ireland, hence the room temperature of 27C. In more normal times I expect room temperature to be at least  5C lower. The GPU isn't thermally limited so this shouldn't have an impact on performance but I would expect it to drop core temperature accordingly. )  

Benchmarks identical between the two configurations. 





     



Comments

Popular posts from this blog

My First Gaming Mouse: Logitech G300

I bought a gaming mouse yesterday a Logitech G300, here my initial thoughts. What is a gaming mouse?  There are a wide variety of devices available classified as gaming mice but a few features  seem common: 1. Wired rather than wireless: Although some high end models are wireless wired connections are just better and faster than wireless so most gaming mice stick with wired. As a bonus wired mice don't need batteries so the mouse is lighter.  2. High response rate: 1 to 2ms response rate so the mouse immediately responds to input.  2. High DPI. Gaming mice invariable boast high DPI numbers from 2,000 DPI upwards. This makes the device very responsive to the smallest movements.   3. Adjustable DPI . High DPI improves responsiveness but reduces precision so gaming mice generally allow you to adjust the DPI down for precise work such as pulling off headshots in sniper mode. Generally the mouse allows dpi to be changed on the fly by pressing a button.  4. Extr

Android Tip 3: Sharing a Folder between multiple users of an Android device

Android has allowed multiple user logins for quite a while now. This is can be very useful for tablets which are shared by family members. Normally Android erects strict Chinese walls between users preventing them from using each others apps and viewing each others files. This is a useful security feature and ensures your kids don't mess up your work spreadsheets when screwing around on the tablet and should also prevent them from buying €1,000 worth of Clash of Candy coins on your account. Sometimes however you really do want to share stuff with other users and this can prove surprisingly difficult. For example on a recent holiday I realised that I wanted to share a folder full of travel documents with my wife. Here are some ways to achieve this. 1. If you have guaranteed internet access  then you can create a shared folder on either Dropbox or Google drive. Either of these has the great advantage of being able to access the files on any device and the great disadvantage of bein

Portal 2 two screen coop on one PC.

I mentioned before that I intended to try Portal 2 in "unofficial split screen co-op mode. Well split screen on a small computer monitor is a recipe for a headache especially when the game defies gravity as much as portal. However a minor bit of extra fiddling allowed us to drive two seperate screens from one PC. The Steam forums describes a complicated method of doing this that I couldn't get working so this simpler method which worked for me might be of use to someone. 1. First I followed the instructions in this post to get split screen multi-player working: http://forums.steampowered.com/forums/showthread.php?t=1847904 A minor issue not mentioned is that you need to enable the console from the keyboard/mouse options menu I am using keyboard and one wired Xbox360 controller as suggested. Getting the controller to switch to channel 2 was tricky at first but as Chameleon8 mentions plugging it out and in again during loading works. The trick for me was to do the plug / p