Jump to content

Undervolting vs. Frametime Spikes (Nvidia)?


Hiob

Recommended Posts

My theorie is the following: A 3080 (e.g.) at stock settings will rather erraticly jump between different clockspeeds depending on the specific load and the available temperature, voltage and power headroom.

In my case as an example (watercooled 3080), with stock settings it will run between 1950 and 2010 MHz with a Voltage of 1.03 - 1.07V and a powerdraw of 350+ Watts.

Whereas when I adjust the powercurve it will happily run with 950mV, a powerdraw of 310-320W and rock solid 2100 MHz. Or as an alternative for the summer with 850mV, a powerdraw of 250W and 1950 MHz. (the latter running 4 degrees cooler and with a performance penalty of ~5% to the first setting and ~0-1% to stock).

Long story short: I strongly recommend undervolting Nvidia GPUs. 😅 But that's not the point....

My reasoning regarding the topic is, that the frequent changes in clockspeeds may result in frametime spikes. I got the idea from extrem overclockers who noticed, that a given fixed clock would run stable, whereas an upstepping under load to the same clock would result in a crash. Basically the same concept, that results in crashes usually happening when the load ramps up or drops down suddenly.

It is just a theory! I have no data to back it up!

I am not that deep in frametime testing, but I thought some of the VR optimizers could give it try if they haven't already.


Edited by Hiob

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

Was thinking about it, but I have 1000W PSU, my 3080 12GB never have MHz spikes, is undervoltage will have any beneficials in thise conditions?

HP Reverb G2, Samsung Odyssey Plus+, EVGA GeForce RTX 3080 FTW3 ULTRA GAMING 12GB GDDR6X, 32GB RAM, Intel i7-7700k 5.1GHz (OC), Hydro Series™ H100i v2 Extreme Performance Liquid CPU Cooler, Buttkicker 2 Gamer+SSA Sound Module, Virpil MangoosT-CM2 Base+Grip, Logitech X56 Throttle +Rudder, Logitech Z906 5.1, LG OLED 55'' 4K 120Hz
A10-C II,  AH-64D,  AV88NA,  F-14A/B,  F-16C,  F/A-18C,  Ka-50,  Mi-24,  Mi-8,  SA342,  UH-1H,  SuperCarrier,  Persian Gulf,  Nevada,  Syria,  Simshaker for Aviators

Link to comment
Share on other sites

Under volting can work to one's advantage if they can maintain stability at lower volts as Nvidia Boost would increase on the GPU due to lower temps. It would be a balancing act though.

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

Yes, but as long as you use the curve editor (or any other function) in the MSI Afterburner, you can't hurt your card.

If it doesn't help with anything else, you can at least achieve lower temps and power draw with undervolting. (Even without loosing performance).

14 minutes ago, dburne said:

Under volting can work to one's advantage if they can maintain stability at lower volts as Nvidia Boost would increase on the GPU due to lower temps. It would be a balancing act though.

There are different ways to do it. The way I would suggest, will pretty much bypass Nvidia boost and should result in non fluctuating clocks. (Disclaimer: may work better with water cooling than air cooling due to less temperature fluctuation).


Edited by Hiob

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

23 minutes ago, Hiob said:

 

There are different ways to do it. The way I would suggest, will pretty much bypass Nvidia boost and should result in non fluctuating clocks. (Disclaimer: may work better with water cooling than air cooling due to less temperature fluctuation).

 

 

Interesting, I was not aware Nvidia Boost could be bypassed. I know EVGA in their Precision X1 software also includes a boost lock feature, but it too does not truly lock the Nvidia Boost as it still can be effected by GPU temp.

 

Edit: One thing I have found that helps me a little, is in Varjo Software for the Aero one can set vsync on and lock the framerates to 45 fps. Seems to help my GPU run a few degrees cooler hence giving little better performance. Allowed me to up my graphics settings a little.


Edited by dburne

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

15 minutes ago, dburne said:

 

Interesting, I was not aware Nvidia Boost could be bypassed. I know EVGA in their Precision X1 software also includes a boost lock feature, but it too does not truly lock the Nvidia Boost as it still can be effected by GPU temp.

 

 

It is not really "bypassed", it is just - when you edit the curve in the right way, you will basically lock the clock on the highest (highest chosen) speed.

E.g. if your clock fluctuates between 1860 and 1905 MHz with base settings. Adjust the curve so, that you lower the whole curve (negative offset) so, that the highest point hits e.g. 1920 MHz. Then go to the point of 950mV and pull it up to 1920 MHz as well. Click apply. The curve should now be a flat plateau from 950mV up. 

Check in game or in a benchmark. Voltage and Clock should now stay put at those values. (+15 Mhz if very cold; -15 Mhz if hot, but the voltage should be put). The resulting power draw is lower than stock - therefore are the temps.

If this is stable, you can reset everything and do the same approach with 925mV and so on, until you find the voltage where it is no longer stable. Most likely that will result in a crash to desktop. Simply reset and reverse 25mV and you're done.


Edited by Hiob
  • Like 2

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

18 minutes ago, Hiob said:

It is not really "bypassed", it is just - when you edit the curve in the right way, you will basically lock the clock on the highest (highest chosen) speed.

E.g. if your clock fluctuates between 1860 and 1905 MHz with base settings. Adjust the curve so, that you lower the whole curve (negative offset) so, that the highest point hits e.g. 1920 MHz. Then go to the point of 950mV and pull it up to 1920 MHz as well. Click apply. The curve should now be a flat plateau from 950mV up. 

Check in game or in a benchmark. Voltage and Clock should now stay put at those values. (+15 Mhz if very cold; -15 Mhz if hot, but the voltage should be put). The resulting power draw is lower than stock - therefore are the temps.

If this is stable, you can reset everything and do the same approach with 925mV and so on, until you find the voltage where it is no longer stable. Most likely that will result in a crash to desktop. Simply reset and reverse 25mV and you're done.

 

 

Good to know much thanks.

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

16 hours ago, Hiob said:

It is not really "bypassed", it is just - when you edit the curve in the right way, you will basically lock the clock on the highest (highest chosen) speed.

E.g. if your clock fluctuates between 1860 and 1905 MHz with base settings. Adjust the curve so, that you lower the whole curve (negative offset) so, that the highest point hits e.g. 1920 MHz. Then go to the point of 950mV and pull it up to 1920 MHz as well. Click apply. The curve should now be a flat plateau from 950mV up. 

Check in game or in a benchmark. Voltage and Clock should now stay put at those values. (+15 Mhz if very cold; -15 Mhz if hot, but the voltage should be put). The resulting power draw is lower than stock - therefore are the temps.

If this is stable, you can reset everything and do the same approach with 925mV and so on, until you find the voltage where it is no longer stable. Most likely that will result in a crash to desktop. Simply reset and reverse 25mV and you're done.

 

Really noob here, could be too much asking You to make a short video on Youtube?
I have a 3090 Asus Strix OC Edition and I'm very interested in achieving a bit of undervolting to have less frametime spike on VR.

Thx.

 

Link to comment
Share on other sites

Hey, there is plenty of youtube guides on that matter already. Just search for „undervolting 3090“. But when you take look at the afterburner interface (the curve editor is the little bar graph symbol) and follow my instruction, you should be golden. There is nothing to break here. If something didn’t work, you can always reset to defaults with a click of a button.

*As I mentioned, there is definitely only gains in undervolting, but the frametime thing is just an unproven theory!

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

4 hours ago, Hunter Joker said:

Really noob here, could be too much asking You to make a short video on Youtube?
I have a 3090 Asus Strix OC Edition and I'm very interested in achieving a bit of undervolting to have less frametime spike on VR.

Thx.

 

 

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

I've been playing with under-volting nvidia GPU's since you had to re-flash the BIOS to get it done (GTX970 I think was the last one I played with)...

I've got an RTX2080 now and the concept ins the same but as you mentioned it's just done a little different and uses something like Afterburner.

 

SO...  I started messing with it a couple weeks ago...

 

The problem I run into is that, say for example (numbers mostly made up as I'm not looking at them right now...)

I've got the top of my curve at maybe 2010 or something.  By top of my curve I mean that's where it goes flat and I don't remember the voltage at that spot...

If I have it at say 2010 at 1.0V...  And I think I can move it to 2025 at 1.0V...  I do, then hit apply...  It moves right back to where it was.  It changes the shape of the aqua colored line underneath the squares so it's retaining the "offset" that I'm assigning...  but it doesn't actually stay at the 2025 I set it to.  It drops back down to be level with the plateau part, changes the shape of the curve under it and retains the offset number.  Is that working as designed?

I feel like it's just something I'm mis-interpreting in the curve vs. squares relationship.

Nvidia RTX3080 (HP Reverb), AMD 3800x

Asus Prime X570P, 64GB G-Skill RipJaw 3600

Saitek X-65F and Fanatec Club-Sport Pedals (Using VJoy and Gremlin to remap Throttle and Clutch into a Rudder axis)

Link to comment
Share on other sites

8 hours ago, M1Combat said:

I've been playing with under-volting nvidia GPU's since you had to re-flash the BIOS to get it done (GTX970 I think was the last one I played with)...

I've got an RTX2080 now and the concept ins the same but as you mentioned it's just done a little different and uses something like Afterburner.

 

SO...  I started messing with it a couple weeks ago...

 

The problem I run into is that, say for example (numbers mostly made up as I'm not looking at them right now...)

I've got the top of my curve at maybe 2010 or something.  By top of my curve I mean that's where it goes flat and I don't remember the voltage at that spot...

If I have it at say 2010 at 1.0V...  And I think I can move it to 2025 at 1.0V...  I do, then hit apply...  It moves right back to where it was.  It changes the shape of the aqua colored line underneath the squares so it's retaining the "offset" that I'm assigning...  but it doesn't actually stay at the 2025 I set it to.  It drops back down to be level with the plateau part, changes the shape of the curve under it and retains the offset number.  Is that working as designed?

I feel like it's just something I'm mis-interpreting in the curve vs. squares relationship.

No, that is not the problem. The Curve-Editor in Afterburner is just a bit quirky. To overcome that issue make sure two and a half things.

First - always start from the default curve. Once you raised the curve at an undervolt voltage, it is hard to move that point to a higher voltage or lower clock again. Just start over.

Second, before you start, lower the whole default curve so, that the highest clock is not higher than your target clock. If you want to overclock (e.g. 2100 Mhz) you can leave it as it is, but you want to have an absolute flat plateau beyond the point of your target voltage.

2.5.: Sometimes you drag the curve to a spot, say 2010 MHz, but when you let go, it locks to 1995 instead. Just raise it again or try to go 15 Mhz higher than intended.

Keep in mind, that the clock can only be changed in increments of 15 MHz.

 

Disclaimer. Depending on the actual workload of the GPU (and temps of course), the clock may drop lower under load. That won't happen in DCS most likely, but in more demanding titles like Cyberpunk 2077 it will drop lower or may even crash (in the latter case - add 25 mV).

As mentioned earlier - the better the cooling, the better results you will get. Especially with overclocking. But in general you can get both: Lower Voltage and powerdraw AND higher clock

A good Benchmark for testing (especially when you optimize with DCS in mind) is Heaven. It has similar load characteristics as DCS, runs in a window and runs in an endless loop. You can even apply curves and changes in afterburner while it is running. When you overdo it with Afterburner, Heaven will start to freeze and eventually crash/close.  But your system will stay responsive and you can just lower the settings in Afterburner and restart Heaven.


Edited by Hiob

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

I undervolted my 3070fe to 850mv when I got it and it ran lovely and quiet, however in the quest to get more frames I played with overclocking it.

I'm currently on default curve, +175mhz core clock and +1200Mhz vram; power limit is set to 105%.  This gained me a significant fps boost in DCS (about 5-10) with only a minor increase in heat, peaking at about 76°C (as opposed to 68-70°C undervolted) and boost clock is pretty stable at 2100mhz in DCS.  If I reduce the voltage at all then it drops the boost clocks, it tends to sit around 1030-1050mv on full chat.

This is currently 61st globally on the the 3Dmark firestrike ratings for a R5 3600 / RTX3070 system, 96th percentile 🙂

https://www.3dmark.com/fs/27583465

Removing the overclock gives less frames, the fans still spin up to the same speed <55% but obviously with less heat build up.

The above may well not apply in the same way to the higher level cards as they're more power hungry initially and probably gain more by reducing the voltages/heat to preserve boost clocks.

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

11 minutes ago, edmuss said:

I undervolted my 3070fe to 850mv when I got it and it ran lovely and quiet, however in the quest to get more frames I played with overclocking it.

I'm currently on default curve, +175mhz core clock and +1200Mhz vram; power limit is set to 105%.  This gained me a significant fps boost in DCS (about 5-10) with only a minor increase in heat, peaking at about 76°C (as opposed to 68-70°C undervolted) and boost clock is pretty stable at 2100mhz in DCS.  If I reduce the voltage at all then it drops the boost clocks, it tends to sit around 1030-1050mv on full chat.

This is currently 61st globally on the the 3Dmark firestrike ratings for a R5 3600 / RTX3070 system, 96th percentile 🙂

https://www.3dmark.com/fs/27583465

Removing the overclock gives less frames, the fans still spin up to the same speed <55% but obviously with less heat build up.

The above may well not apply in the same way to the higher level cards as they're more power hungry initially and probably gain more by reducing the voltages/heat to preserve boost clocks.

The results are different for every card of course. I think, yours are certainly exceptional good results. But that is exactly why I recommend playing with this stuff to everyone. Even if uninterested in Overclocking/Performance Gains, it is an easy way to save a lot of energy and heat.

  • Like 1

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Link to comment
Share on other sites

Indeed, seeing as our home fuel bill has just shot up to £3000 a year (from £1600) I perhaps ought to set the undervolt up again 😄

Ryzen7 7800X3D / RTX3080ti / 64GB DDR5 4800 / Varjo Aero / Leap Motion / Kinect Headtracking
TM 28" Warthog Deltasim Hotas / DIY Pendular Rudders / DIY Cyclic Maglock Trimmer / DIY Abris / TM TX 599 evo wheel / TM T3PA pro / DIY 7+1+Sequential Shifter / DIY Handbrake / Cobra Clubman Seat
Shoehorned into a 43" x 43" cupboard.

Link to comment
Share on other sites

On 5/17/2022 at 2:32 PM, Hiob said:

My reasoning regarding the topic is, that the frequent changes in clockspeeds may result in frametime spikes. I got the idea from extrem overclockers who noticed, that a given fixed clock would run stable, whereas an upstepping under load to the same clock would result in a crash. Basically the same concept, that results in crashes usually happening when the load ramps up or drops down suddenly.

It is just a theory! I have no data to back it up!

I am not that deep in frametime testing, but I thought some of the VR optimizers could give it try if they haven't already.

 

I made some testing last year.

Possible influencing factor for stuttering / spiking frame times on new gpu generation

On my side undervolting indeed helped to smoothen out the frame times.


Edited by Rifter
  • Thanks 1
Link to comment
Share on other sites

It makes sense...  I ran into the same problems with my old 970 with my HTC vive.  I worked that bios setting each clock stage to the lowest voltage it would run on, ended up being able to run it way faster and gained all sorts of performance with that poor card.

I can't believe it's getting to the point where I need to do that to a 2080 already...  This thing was a beast :).

 

Nvidia RTX3080 (HP Reverb), AMD 3800x

Asus Prime X570P, 64GB G-Skill RipJaw 3600

Saitek X-65F and Fanatec Club-Sport Pedals (Using VJoy and Gremlin to remap Throttle and Clutch into a Rudder axis)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...