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

[Feature Request] Disable Dynamic PState

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
Would be cool if implemented.

Here is a ready to go code that i use for myself. Should be able to be used on all Nvidia GPU's.


Copy and paste in PowerShell if you want to give it a whirl.

Code:
Set-ExecutionPolicy Unrestricted -Scope Process -Force

# Auto-detect the first NVIDIA GPU
$gpuInfo = Get-PnpDevice -Class Display | Where-Object { $_.FriendlyName -like "*NVIDIA*" } | Select-Object -First 1

if (-not $gpuInfo) {
    Write-Host "No NVIDIA GPU found in Device Manager."
    Read-Host -Prompt "Press Enter to exit"
    exit 1
}

$gpuName = $gpuInfo.FriendlyName
Write-Host "Detected GPU: $gpuName"

# Ensure admin rights
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Host "Please run this script as Administrator."
    Read-Host -Prompt "Press Enter to exit"
    exit 1
}

# Get GPU class GUID
$classGuid = $gpuInfo.ClassGuid.Trim('{}')
Write-Host "Found Class GUID: {$classGuid}"
$classGuid | Set-Clipboard

$baseRegPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{$classGuid}"
Write-Host "Searching for matching subkey under: $baseRegPath"

# Search for correct subkey by DriverDesc
$matchingPath = $null
Get-ChildItem -Path $baseRegPath -ErrorAction SilentlyContinue | ForEach-Object {
    try {
        $driverDesc = (Get-ItemProperty -Path $_.PSPath -Name "DriverDesc" -ErrorAction Stop).DriverDesc
        if ($driverDesc -eq $gpuName) {
            $matchingPath = $_.PSPath
        }
    } catch {
        # Ignore missing DriverDesc
    }
}

if (-not $matchingPath) {
    Write-Host "No matching DriverDesc found for '$gpuName'."
    Read-Host -Prompt "Press Enter to exit"
    exit 1
}

Write-Host "Found matching registry key: $matchingPath"

# Write or update DisableDynamicPstate
try {
    if (Get-ItemProperty -Path $matchingPath -Name "DisableDynamicPstate" -ErrorAction SilentlyContinue) {
        Write-Host "Updating DisableDynamicPstate to 1..."
        Set-ItemProperty -Path $matchingPath -Name "DisableDynamicPstate" -Value 1
    } else {
        Write-Host "Creating DisableDynamicPstate with value 1..."
        New-ItemProperty -Path $matchingPath -Name "DisableDynamicPstate" -Value 1 -PropertyType DWord -Force
    }
    Write-Host "Registry update complete!"
} catch {
    Write-Host "Failed to update registry: $_"
}

Read-Host -Prompt "Press Enter to exit"
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,622 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
This has been discussed previously. Do you have any data that suggests this setting is superior in any way to default?

 

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
If the user with a high end GPU plays an old game or plays a game that is extremely badly optimized on the CPU side so it's CPU bottlenecked.

GPU Limitation, aka why GPU cannot boost higher will be > "No Load".

This is not stable and as the game session plays out GPU will go from "No Load" to It's Normal operation, where the Limitation is either "Voltage" or "Power".

Scenarios above creates boost fluctuations for no reason.

The "High Performance" Tweak in NVCP does not allow the GPU to boost in the scenarios above.

This tweak gets around this hurdle. Regardless if there is Load or not GPU will keep It's boosted state.
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,622 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Scenarios above creates boost fluctuations for no reason.
Does this affect the gameplay experience too or only sensors values going up and down?
 

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
Does this affect the gameplay experience too or only sensors values going up and down?

This is useful for frame times. As the GPU will be in it's boosted state 24/7 so 0.1% and 1% lows could be better in the mentioned scenarios.

Ideally we are trying to reduce Frame Time Variance in these cases and this could do that.
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,622 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
As the GPU will be in it's boosted state 24/7 so 0.1% and 1% lows could be better in the mentioned scenarios.
Do you have any data to support that claim? I'm surprised that this isn't widely known and recommended for the hundreds of millions of users that would be affected
 

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
Do you have any data to support that claim? I'm surprised that this isn't widely known and recommended for the hundreds of millions of users that would be affected

Do I have any data to show? No, and reasons basic to be honest.

  1. Nvidia default to power efficiency to keep thermal/noise complaints low.
  2. Tech reviewers rarely test older games, especially when reviewing high end GPU' such as 5090. (Which is required to be done for the scenarios I posted to happen)
  3. Most casual users don’t know what P-states even are.
  4. And forums are full of “fix your drivers” before anyone mentions power states.


Yes, but...

There are good reasons that nVidia, AMD, and Intel have all adopted radical and aggressive clockstate shifting.

What I've read and pieced together over the years, leads me to believe that dense-lithography CPUs and GPUs will wear out exponentially faster than larger-lithography predescessors; if, forced to operate within its highest clockstates.

The exception might be waterblocked chips, but even then...
There's reasons AMD and others have patents on nano-Peltiers and allotropic-carbon thermal vias, in-silicon.
Some parts 'deep within the chip' are getting hotter, faster than can be conducted away.

tl;dr:
Modern chips maintain a delicate dance of dynamic clocking.
The best way to sustain higher clocks, is throwing more cooling @ the problem.
Once cooling is well-and-truly excessive, then try to force stuff to sustain higher-than-factory clocks.


The option would be nice, but similarly to AMD taking away the Overdrive API for Navi 3x->, it might not be the best idea to leave so easily-accessed :oops:


While it's correct that Dense Lithography chips are prone to more degradation.

Keep in mind that:
Forcing P0 ≠ constantly maxing out power/heat
It's more of a ready for action rather than keeping the GPU at 24/7 max power draw like you are playing Cyberpunk.
It will not melt itself sitting on your desktop.

Also we are not "overclocking" in this scenario, so not sure why you mentioned "higher than factory clocks".
We are just telling the GPU to always be at it's maximum Boost Clock. As if we are rendering or playing a heavy GPU intensive game.

Throwing more cooling at the problem does not help in the mentioned scenarios above as the GPU fails to identify we are in a gaming session.

Sure, operating closer to the limits 24/7 might shave some months or a year off a 10–15-year theoretical lifespan.

But then one might ask themselves, "will i use a 5080 in 10-15 years later?"

Chances are, you’ll upgrade long before failure becomes an issue, long before degradation from Disabling Dynamic PState.
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,622 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
We are just telling the GPU to always be at it's maximum Boost Clock.
I think that's not the correct effect. Doesn't setting that registry key force the card to its _base_ clock?
 
Last edited:

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
I think that's not the correct effect. Doesn't setting that registry key force the card to its _base_ clock?
Since we are removing the P States, we are essentially telling the GPU >"Don't you dare downclock, undervolt, or relax… ever"

Due to this GPU will Boost as if you are gaming, more than the base clock.

Here is an example on my 5090 with no OC applied sitting at idle on desktop.

1745317875734.png


All 5090 and 5080 (Most likely all GPU's with "GPU Boost" starting from the Kepler architecture) is known to boost beyond it's specs without overclocking when gaming/rendering (High Workload tasks) so this is a normal behavior under this circumstance.


1745317969508.png


Operating Clocks vs the advertised Base & Boost Clocks don't match.

Since there is no Base + Boost to think about with this tweak. We are always at the "Operating" Clock.
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,622 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Here is an example on my 5090 with no OC applied sitting at idle on desktop.
Are you saying that with DisableDynamicPstate your 5090 will run at 2940 MHz at all times? This is stock, without manual OC, right? Which exact model?
 

Mordorah

New Member
Joined
Apr 22, 2025
Messages
9 (1.13/day)
Are you saying that with DisableDynamicPstate your 5090 will run at 2940 MHz at all times? This is stock, without manual OC, right? Which exact model?

Correct. My GPU can boost to that clock speed under the current load (idle at desktop) with the given max voltage.

This may change for others as boost behavior is different with each card.

Model below:



1745324525330.png



Keep in mind this does not mean when gaming GPU will try to keep the 2940 Mhz at all times. It will fluctuate depending on Load > Power Delivery > Temperature.

GPU Boost behavior is still kept as normal.
 
Last edited:
Top