• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

V/F Points not being respected consistantly

Ashlander

New Member
Joined
Apr 8, 2025
Messages
7 (0.24/day)
This is probably user error, but I'm having some trouble with testing the voltage at different frequencies. I'm finding that my changes in the V/F Points window apply, but sometimes do not update after changes are made. I think it is usually when switch profiles to compare, or perhaps leaving the V/F window and going back into that triggers it, but I can set the voltage for certain speed to -999 and nothing happens. I can clear everything, and there is still a difference in power usage, clocks, etc when switching between profiles even though they'd all be 0'd out (everything else the same). I also noticed that sometimes when say the 2400 point is not reflecting any changes (when max mult is locked to 24), changing the value for the 5400 point does. It all just seems very inconsistent on if it's actually applying and how much it's applying.

As another test I set profile 1 to only using V/F curve, and profile 2 to using a global offset, but with the V/F points offsetting to match profile 1 at each point, and profile is pulling less power even though they should theoretically be the same.

It seemed to be more consistent when testing higher speeds, I didn't start noticing this until I moved to tweaking the slower speeds.
 
I can set the voltage for certain speed to -999 and nothing happens
The V/F Point values are more like requested values. The CPU gets to decide whether it should follow your request, partially follow your request or completely ignore your request.

I have done close to zero testing of the V/F Point tuning feature. Sure I use V/F Point 1 like everyone else does but that is about it. I have no documentation from Intel so I have no idea what limitations there might be. The core and cache use different frequencies so I am also not sure how those two V/F voltages interact.

Keep testing. I am starting to see the potential here even if you cannot get everything working the way you think it should work. Based on your testing, I am thinking about adding approximately +50 mV to the higher V/F point frequencies so I can go back to using the 58 multiplier when 1 or 2 cores are active.

Edit - Testing time. I boosted the 5 highest V/F points +50 mV. Maybe I should have done V/F Point 6 too at 5400 MHz but this is just meant to be a quick test. It is stable so far. To make sure the CPU uses the 58 multiplier as much as possible when running the Cinebench single core test, instead of setting the Turbo Groups to the 58 multiplier when 1 or 2 cores are active, I set the 58 multiplier so it uses this when 1, 2 or 3 cores are active. That helps the CPU use the 58 multiplier almost all of the time during the entire Cinebench single core test.

1744148697817.png


58.00 during Cinebench R23 single core.

1744151072340.png


And final results, 2253. That is not too bad. No crashes.

1744151115055.png
 
Last edited:
The V/F Point values are more like requested values. The CPU gets to decide whether it should follow your request, partially follow your request or completely ignore your request.

I have done close to zero testing of the V/F Point tuning feature. Sure I use V/F Point 1 like everyone else does but that is about it. I have no documentation from Intel so I have no idea what limitations there might be. The core and cache use different frequencies so I am also not sure how those two V/F voltages interact.

Keep testing. I am starting to see the potential here even if you cannot get everything working the way you think it should work. Based on your testing, I am thinking about adding approximately +50 mV to the higher V/F point frequencies so I can go back to using the 58 multiplier when 1 or 2 cores are active.
The thing that's really throwing me off is that if I lock speed down to 2400mhz (as a single point example), to tune the first point, it's not actually being effected unless I change the point for 54. You can see here the drop when I applied the 540 offset, with the clock speed set to 2400.

1744151578189.png


Modifying anything less, including it's own point, has no effect.

1744151437994.png


I'm not super knowledgeable about CPU behavior, so perhaps this is something to do with my method of setting the all core multipliers to match each point, and then raising the PLs to run more power so I can actually see the effects? Do you have any better ideas on testing stability for a particular point?

I think the V/F Points will definitely be the way to go in the future. Being able to run a bigger undervolt without being restricted by a lower global setting to keep the high end stable is a game changer.

EDIT: Just saw your update. That's great. I'm guessing you have the global offset at -150, so the Points are offsetting from that?
 
I'm guessing you have the global offset at -150, so the Points are offsetting from that?
Yes. the CPU Core and P Cache are set to -150 mV for the global offset.

Do you have any better ideas on testing stability
You are a V/F point pioneer. I no longer spend much time trying to figure out why something works. If it works, it works. I never run my CPU at 2400 MHz so spending time trying to figure out what is going on at that speed is not that important to me. I might do some more testing at 5800 MHz. I like that number. I am not sure how many of the higher V/F points actually need to be increased to improve light load stability at this speed. Maybe only setting one V/F point at 5800 MHz would be good enough and then the CPU would interpolate VID voltage for all of the other similar V/F points.

In the early days of testing the mV Boost feature that ThrottleStop used to have, I noticed that raising V/F Point 1 (mV Boost) to 499 would add VID voltage at V/F Point 1 but this would also add VID voltage at some of the other higher V/F points. I have no idea what formula Intel uses to control the voltage curve so it smoothly increases as the MHz increase.

For the kind of testing you are trying to do, you might have to disable some or all of the C states in the BIOS if that is possible. The VID voltage can change so rapidly that getting some consistent VID data might be difficult no matter what monitoring tool you are using.

Being able to run a bigger undervolt without being restricted by a lower global setting to keep the high end stable is a game changer.
I am never sure if a new ThrottleStop feature will become a game changer or if it will rarely be used. Some quick Cinebench testing today confirmed the potential. Spread the word.
 
I have no idea what formula Intel uses to control the voltage curve so it smoothly increases as the MHz increase.
From my understanding (based solely on google and forum posts), the points connect in a straight line from one to the next. It's unclear if that means that each point is linearly connected to the next regardless of if there's an entry or not, or it is linear from one entry to the next entry (80x and 58x would then act as a global offset). I've been mostly just tweaking to find the configuration I'm going to run on the new laptop, but I'll do some testing to try to figure out how it's behaving.

I'd love to build the understanding of what's going in in the points, because of the potential as you said, but it does behave very weirdly. I currently have 2 profiles setup, one with -125 VF @ 4800, and the other a global -125, and the first one using points actually increases the voltage @4800 compared to stock.

For the kind of testing you are trying to do, you might have to disable some or all of the C states in the BIOS if that is possible.
Unfortunately I'm unable to do that in my BIOS. I just got the Legion Pro 7 Gen 9, which has pretty minimal BIOS options. I had an unlocked BIOS on my Gen 6 Legion and that was great. No such luck on the newer one it seems.
 
After some more testing, it seems that all the points above 34x work as expected. The point for 34x has no effect, so I initially thought that maybe Intel locked the points for 34 and below to just be adjustable or something. However, it seems that both 24x and 34x are being controlled by the 54x input. 48x works as expected, so it's not just applying the offset across the board below 5400 either. Is it possible this is some sort of mapping issue within the Throttlestop program?

Screenshots below of 54x applying at 2400, 3400, and 5400mhz.

2400mhz
1744395942636.png


3400mhz
1744394840503.png


5400mhz
1744396155148.png
 
Is it possible this is some sort of mapping issue within the ThrottleStop program?
It does not seem to be a mapping problem. All of the individual values entered into the right side of the V/F Point window immediately show up in the correct order on the left side of the V/F Point window as soon as the Apply button is pushed. HWiNFO also confirms that the V/F values requested are all in the correct order.

Thanks for sharing your test results. It might encourage me to do some more testing someday. The V/F point values are just requests. I have no documentation that explains anything V/F related. Some V/F point requests at some frequencies might be ignored. This could be a bug or it could be by design. Without publicly available documentation, no one will ever know.

1744398053337.png


@Ashlander
I did some testing and V/F Point 3 @ 2400 MHz seems to work OK.

The speed of the E cores can interfere with this V/F point. I was originally using Speed Shift Max to lower the P cores to 2400 MHz. The problem with this MHz control method is the E cores were still running at 3100 MHz. When set like this, the V/F Point 3 request was ignored just like you found. Either positive or negative request values were both ignored.

By disabling the E cores in the BIOS, I was able to run only the P cores at 2400 MHz. Positive and negative values for V/F Point 3 are both working correctly. I will enable the E cores again when I reboot and instead of using Speed Shift Max to control their speed, I will try adjusting the Turbo Groups for both the P and the E cores.

It makes some sense that when the E cores are running faster than the P cores that the V/F Point 3 might get ignored by the CPU.

Baseline VID with V/F Point 3 set to 0 was 0.8470 V.
At +100 the VID increased to 0.9313 V.
At -100 the VID decreased to 0.8013 V.

The plus value more or less makes sense. The negative request value confirms that the V/F value you request is not always what you are going to end up with. The CPU gets to adjust the curve however it feels like so the VID voltage values always increase with increases in MHz. If a point gets too low and does not follow this rule, the VID voltage curve will be automatically adjusted as much as necessary.
 

Attachments

  • VF Point 3 0 mV.png
    VF Point 3 0 mV.png
    672.7 KB · Views: 21
  • VF Point 3 +100 mV.png
    VF Point 3 +100 mV.png
    703.6 KB · Views: 24
  • VF Point 3 -100 mV.png
    VF Point 3 -100 mV.png
    692.6 KB · Views: 21
Last edited:
Bro, I'm happy to see others researching V/F curve-related questions like me. Here are my findings:
  1. For hybrid-core CPUs (e.g., 13th/14th Gen Intel):
    • Their V/F control uses three preloaded VID-frequency tables for P-core, E-core, and Ring.
    • However, due to Intel's design, the motherboard prioritizes the highest VID request. This means E-core/Ring voltage requests can override P-core requests, causing monitoring tools to display voltages not actually requested by P-cores.
  2. My theory:
    • The "exposed" V/F curve likely only controls the P-core mapping table.
    • At low P-core frequencies, voltage is overridden by E-core/Ring demands (not ineffective adjustments).
    • Testing protocol: Disable as many E-cores as possible, turn off C-states, and account for Ring Bin Down, Intel Speed Step, and Intel Speed Shift for accuracy.
  3. From my 13980HX tests:
    • E-core voltage at ≥3.4GHz already exceeds P-core voltage at 5.2GHz.
  4. Recommended article (Chinese, but AI may translate well):
  5. Thanks to ThrottleStop (TS) developers! My laptop runs flawlessly now.
    • My ROG G834JZ (13980HX + 4080) setup:
      • BIOS : AC 80, DC 170
      • P-core/P-cache: -89.8mV
      • SA: 0 | GPU/E-cache: -40mV
    • I love stepped frequency scaling:
      • Light loads (e.g., 25W idle, 40W web tasks) achieve higher clocks with lower voltage via C-states + Speed Shift.
      • Heavy loads (e.g., 135W in League of Legends) balance efficiency,not too hot or noisy.
    • Critical warning: I avoid CPU voltage >1.40V to prevent irreversible damage (as seen in 13th/14th Gen failure reports).
    • And I found Hyper-Threading-Off can improves stability and earn more undervolting headroom, but sacrifices some performance.
this is my threshold settings,25mV more down will go blue when heavy load,but if I turn off 8E,I can down more mV

fivr.png
per-core.png
 
Bro, I'm happy to see others researching V/F curve-related questions like me. Here are my findings:
  1. For hybrid-core CPUs (e.g., 13th/14th Gen Intel):
    • Their V/F control uses three preloaded VID-frequency tables for P-core, E-core, and Ring.
    • However, due to Intel's design, the motherboard prioritizes the highest VID request. This means E-core/Ring voltage requests can override P-core requests, causing monitoring tools to display voltages not actually requested by P-cores.
  2. My theory:
    • The "exposed" V/F curve likely only controls the P-core mapping table.
    • At low P-core frequencies, voltage is overridden by E-core/Ring demands (not ineffective adjustments).
    • Testing protocol: Disable as many E-cores as possible, turn off C-states, and account for Ring Bin Down, Intel Speed Step, and Intel Speed Shift for accuracy.
  3. From my 13980HX tests:
    • E-core voltage at ≥3.4GHz already exceeds P-core voltage at 5.2GHz.
I wonder if this is a 13th Gen thing. I have a 2400mhz stability test running right now and the voltage on the P an E cores are the same. I'll check at a higher speed later and see if they deviate like yours do. Point #3 is a huge voltage difference.

Have you tried XTU to see if the E core curve is available?
 
the voltage on the P and E cores are the same
On my 14900HX, the same voltage regulator supplies voltage to both the P cores and the E cores. You can request whatever voltage you want but that does not seem to change how much actual voltage goes to the P & E cores. When both types of cores are active, they seem to report the same VID voltage in HWiNFO. Using ThrottleStop to lower the E core MHz significantly does not make any difference to the VID voltage that the E cores report when the P & E cores are both active.
 
In this article, https://ngabbs.com/read.php?tid=34192551, the curve will be like this.
As I said before, VR will chose the highest voltage among P/E/Ring to response. The same VID that you see on OS or some Software is always the highest vid, especially on high load condition like CPUZ test or R23, all core will report same voltage, that is the voltage offered by VR. In low load condition, u can see different vid repoted by P or E in HWiNFO, but that are already influenced by those power saving policy.
I have to say, this curve is hard to test out at laptop because there is so many tech like C-State and speed shift and power policy that control our voltage and frequencey, so u can see this curve is by a desktop based CPU. But we also should know how it works because they are essentially same CPU.
If u want to find the curve for ur CPU. You may do :
1. Set AC Loadline = 1( 0 = Default),this make CPU requesting vid match curve
2. Set DC Loadline = 1( 0 = Default),this make OS or Monitor showing vid request match curve
3.Turn off TVB , this make temp not influence vid
4.Turn off AVX2 Voltage Guardband, this make CPU improve vid when run AVX
5.Turn off C-State, Windows Power in High Performance(Not Best Performance), reset ur voltage offset to zero.
After those u may get the closest V/F curve to the pre-set curve in ur CPU
Close ur E-Core and lower ur Ring Frequency, u can get ur P-Core curve.
Lower ur P-Core and Ring,u can get E-core curve.
Suggest:
Focus on P-Core curve, even u find E-Core curve, u can not control it, it make no sense, but u should know E and Ring does influence and always concern about them.
Warning:
Before u understand AC/DC/VRM Loadling and how it works, dont try to set AC Loadling too low, especially 13Gen laptop CPU , lower than 80 will make frequently blue. Dont try to test out the curve on laptop, Knowing how it works is enough.
V-F.png
 
Last edited:
Back
Top