Discussion: NVIDIA Display Driver (nvlddmkm.sys) DPC Latency

Status
Not open for further replies.
I am still not convinced it's Nvidia cards when some have issues and some don't with the cards. If it was the cards then almost all would be having issues which isn't the case...
Yeah I'm not disagreeing, just differing leading theories is all. We don't know much for certain, except that a ton of people are having problems. It could still very well be some kind of bios or Microsoft issue that is causing a conflict, and perhaps there's nothing Nvidia can do about it on their end. But, the fact that they won't even acknowledge the problem is what I take issue with since it's their driver with the conflict. We need someone with heavy clout in the industry to force whoever's hand *is* responsible for this issue. Just like Nvidia had to force Microsoft to fix the 22H2 performance issues. This problem is clearly being Googled by tons of people literally every single day, so it's not like they are ignoring it because it's a niche bug. If gaming benchmark/news sites actually did DPC testing then these issues would suddenly clear up fast.
 
There is no way nvidia dont know about this so i repeat my earlier comment, they either cannot fix it or they dont care, or its a bit of both.
Bet your bottom dollar everything thats has been tried here has been tried before on other forums.
15 pages and we are back to square one, zip zilch squat kadingus nada and FoL.
17 pages.
 
These files we can't use to compare, all of Windows' true power plan settings are held here:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
If you navigate to that folder in regedit then right-click on the "PowerSettings" folder and "Export" it'll make a file with a few thousand lines.
That is advanced power settings with 3 power plan options in Windows 11 and doesn't exist in XP. To go there, go to Edit in the selected power plan - Change advanced power settings and there will pop up an advanced power settings window, when runing on desktop, the options are less than those seen in laptops or desktop with UPS + power online monitoring.

Compare the names in the registry against the options in Advanced settings, all matches.

There is no such "true power plan settings", what you have seen is advanced settings, sorry to bring bad news.
 
There is no such "true power plan settings", what you have seen is advanced settings, sorry to bring bad news.
I don't understand the purpose of this comment, just because I used colloquial wording doesn't mean what I said was inaccurate. Simply replace the word "true" with "default" and that should clear things up. I was already aware of the rest of what you posted though, with one exception.

The thing I didn't know was what XP's power settings in the registry looked like, and so I was waiting for someone to post it. Unfortunately, you replied saying the Power\PowerSettings tree doesn't exist in XP, so I went online to verify and it seems like Vista is responsible for changing how the registry works for power plans. Thank you for taking the time to look into XP's plans for us, I do appreciate that. If you have any ideas for how we might still be able to compare XP's plans to a modern OS, I'm all ears. I don't have an XP ISO to fiddle with though, and I'm not sure which of these websites can be trusted to download one from, or even what the official hash is apart from some guy's word on a forum.

I've noticed in various threads there seems to be confusion in general about how power plans work, so I'm going to try to summarize it for operating systems from Vista through W11, if nothing more than to benefit all the lurkers following the thread:

1) There are a few ways we can tweak power plans. We can use powercfg in the command line, or click on a setting and adjust it in the power control panel, import or export a plan, or edit it directly in the registry, and they each have their own pros and cons. The "PowerSettingsExplorer" tool from guru3d for example, is pulling information from that Power\PowerSettings path I listed.

2) The Power\PowerSettings path is what Windows uses to determine the defaults for the 3 major power plans (High performance, Balanced, Power saver), including the new ultimate plan which is only a personality profile with modification. This is not where all the "advanced" options are, but rather where every option is. We can visit the user interface by clicking the advanced options in the power control panel to see them.

3) The Power\User tree is where all of the user modifications live. So for example, if we open that advanced power control panel and then change disk timeout to 5 from the default 20 it will save our change inside this tree. Now, if we go click the "restore defaults" button it relies on the keys from Power\PowerSettings to overwrite our changes. There is also a "SystemPowerPolicy" key which is essentially a config file that stores our current modifications as a value, and if we delete this key's value it also resets our plans to defaults.

4) Many of the power plan settings are hidden from the control panel by default. Laptops have extra options because there are features a desktop cannot utilize, such as what happens when we close the lid on our laptop. If we are on a desktop, some options will never exist in the advanced power control panel even if we unhide them using the "Attributes" key in the Power\PowerSettings tree, because a desktop does not support them.

5) Any time we install a program that modifies the power plans, it does this by installing keys into that Power\PowerSettings tree. Nvidia drivers, integrated Intel graphics drivers, etcetera, will install a key or two so that all of the built-in plans can utilize them.

6) There's more we can discuss like importing and exporting plans and so forth, but since Vista the path of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings is where most of the focus is.
 
Last edited:
I have the virtual machines for 98, 2k, xp (this installed to check for the power plans thing), 8 and an extra VM for testing 10, 11 or loading linux live isos, all clean, no programs added.

You have said earlier that you have built custom XP based computers, sounds like you don't need to download an ISO or worry about hashes, if you have it handy and have time, set a virtual machine and select the host drive where you can put the CD so it can be read.

Seems like Clanger ;) expected to have a Windows cloned OS about 15 years ago, once again I took some minutes to go around ReactOS and found a Windows features list introduced on major windows versions.

The power plan settings tree is only the default advanced settings that we can modify and/or add an advanced custom power plan, it wasn't possible against XP. I have compared 98 SE against 2k power plans and 2k power plan against XP's, 98 SE doesn't match any to 2k power plans, 2k matches some strings to XP.

XP and older Windows versions have basic power plan options only.
 
...You have said earlier that you have built custom XP based computers, sounds like you don't need to download an ISO or worry about hashes, if you have it handy and have time, set a virtual machine and select the host drive where you can put the CD so it can be read...
I made the mistake of tossing out my disc and license when I was cleaning up my computer stuff a few months ago :p I always keep old PC parts, such as a spare PSU and other items in case something dies, so I really should have known better and kept XP too. I got a little carried away in my cleaning.

...XP and older Windows versions have basic power plan options only.
Thank you for looking into it. I played around with the files you uploaded to see if maybe I could enable one of those policies on W10 and then somehow export the settings that those config files contain, but I was unsuccessful. On that note, is there perhaps a way to use the powercfg command line to export an XP power scheme to a txt file? On W10 for example I use these commands below:

powercfg /qh scheme_balanced >"%UserProfile%\Desktop\Balanced.txt
powercfg /qh scheme_min >"%UserProfile%\Desktop\High.txt
powercfg /qh scheme_max >"%UserProfile%\Desktop\Saver.txt

While that command probably won't directly work on XP, I wonder if there's a similar alternative?
 
Last edited:
On that note, is there perhaps a way to use the powercfg command line to export an XP power scheme to a txt file? On W10 for example I use these commands below:

powercfg /qh scheme_balanced >"%UserProfile%\Desktop\Balanced.txt
powercfg /qh scheme_min >"%UserProfile%\Desktop\High.txt
powercfg /qh scheme_max >"%UserProfile%\Desktop\Saver.txt

While that command probably won't directly work on XP, I wonder if there's a similar alternative?
/qh is the same as /query.

Probably you would need a translator as the information is localized to spanish - Spain but is not much, only basic (display, hdd, inactive, hibernation and CPU speed).
 

Attachments

  • Schemes.7z
    1.1 KB
tried to import the always on .pow with quickcpu, error as expected.
2 XP power management pages at MS, here and here. goggle(sic) search result.
im gonna try removing power settings and benchmark with cpu-z over the weekend.
i forgot about the R5/7 and 9 series cards :rolleyes:
 
Last edited:
nvlddmkm.sys - NVIDIA Windows Kernel Mode Driver, Version 471.96 - 0.263412 - timed over 45 minutes of doing stuff, not windows just idling all that time- thats half of what it used to be. not perfect but a massive improvement i could probably live with. i need to retrace my steps to see what did that. you can sniff the output of the msi tool with RegFromApp.

gpu and gpu ram speeds are all over the place, i cant get them to stick on default base speeds in msi afterburner or asus gputweak.
 
Last edited:
Just signed up to share my experience. I'm also suffering from insane DPC latency spikes on Win 11 22H2. PC specs:

13900k
3080 TI / Nvidia 4090
MSI WIFI Force Z690 / ROG STRIX Z790-E GAMING WiFi
32 GB DDR5-6000 (dual channel)
1500W Be Quiet! Dark Power Pro 12

Symptoms: high DPC latency (nvlddmkm.sys), audio crackling / out of sync, complete loss of audio when doing heavy I/O (see attached image).

Steps to reproduce: copy large files from/to my M.2 SSDs while listening to audio.

I've tried everything imaginable:
  • switching Windows power modes
  • downgrading the BIOS
  • removing all but one SSDs
  • removing all but one RAM stick
  • resetting BIOS and disabling XMP for RAM
  • switching between the 4090 and the 3080 TI
  • switching between the current 527.56 and older drivers
  • installing a fresh Windows 22H2 with only the bare minimum drivers
  • messing with HPET on a fresh Windows 22H2 installation
  • disabling P-States and C1E
The only thing that works is to downgrade to Win 11 21H2. There are also some latency spikes, but nowhere near as many and as high as on Win 11 22H2. Also no audio drops.

Interesting observation: I've ordered a new mainboard for more testing (old one is the MSI, new one the ASUS). The latency spikes also occour on the ASUS board (Z790 chipset) as on the MSI (Z690 chipset), but audio doesn't drop out. The board seems to handle the problem better, but it's still there.

I've downgraded to Win 21H2 as I'm done bashing my head against that banana software called Windows 11 22H2. I've also filed a bug report at NVIDIA and Microsoft, let's see if this problem gets fixed in the near future (wishful thinking).

If anyone has found a solution for the problem or more insight on what's going on, let me know.
 

Attachments

  • image.png
    image.png
    75.7 KB
When you installed 22H2, did you disable any virtualization or Windows security features? Or run the default setup?

I've disabled Kernel Isolation after testing, no effect. Virtualization was not enabled as a Windows feature, Intel virtualization support in the BIOS was activated (default).
 
I will update this page with my new latancy results. Pretty good for me. When using MSI I spread it across all processor's on the GPU. Also adding additional power settings help out a lot.
 
Garlin brought up virtualization, and that is probably the best across the board advice for everyone. It's been discussed a few times on the forum, but it doesn't get much attention each time. It won't fix this Nvidia issue, but will help overall DPC and game performance. To elaborate more on this stuff:

Everyone go into your BIOS and look for a section that discusses "Virtualization". It's usually grouped up in the bios near the "Execute Disable Bit (NX)" which is the setting that allows Windows to use DEP. Once you find it in the bios, disable Virtualization/Hyper-V settings, then save and exit. Afterwards, it is recommend that you cleanly reformat/install Windows for full optimization because then it is gauranteed to adjust all of the related settings in the Security Center/Registry properly. Lastly, once you finish your clean install of Windows, go to "Turn Windows Features On or Off" in Control Panel and make sure Virtualization is unchecked.

Both Windows 10 and 11 version 22H2 have some major performance issues at release and were not ready for distribution, especially right before Microsoft left the office for the holidays. Not only is the Task Scheduler broken in both releases (link1) and has no fix yet, but it was confirmed by Nvidia/Microsoft that debugging was enabled by mistake on the W11 version, which took way too long to fix, resulting in the KB5020044 (link2) update. In addition to that, AMD CPU users are still reporting major performance loss in 22H2 and is very likely related to virtualization (link3) issues.

I would highly recommend sticking with 21H2 right now, and pausing Windows Update until at least mid-January or later, until Microsoft comes back and fixes this stuff. Personally, I'd do a clean reformat/install of 21H2 and integrate the Windows Update pausing keys. Windows Update continues to still install the wrong drivers as well, on 22H2 it gave me a 2 year old Nvidia driver that was over 20 versions ago, so you'll also want to integrate the Driver updating and Windows Store keys to stop it all from messing things up.

Pause Windows Update:
; Start > Settings > Update & Security > Windows Update > Advanced options > Pause updates > Up to 4 years
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsUpdate\UX\Settings]
"FlightSettingsMaxPauseDays"=dword:000005b4

; Start > Settings > Update & Security > Windows Update > Advanced options > Pause updates > Until January 1st, 2026
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsUpdate\UX\Settings]
"PauseFeatureUpdatesStartTime"="2022-07-01T20:00:00Z"
"PauseQualityUpdatesStartTime"="2022-07-01T20:00:00Z"
"PauseFeatureUpdatesEndTime"="2026-01-01T20:00:00Z"
"PauseQualityUpdatesEndTime"="2026-01-01T20:00:00Z"
"PauseUpdatesExpiryTime"="2026-01-01T20:00:00Z"

; Hidden > Settings > Update & Security > Windows Update > Advanced options > Download missing drivers > Off
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching]
"SearchOrderConfig"=dword:00000000

; Start > Microsoft Store > Settings > App updates > Off
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate]
"AutoDownload"=dword:00000002

Some other notes:
1) Do *not* disable DEP in the BIOS or in Windows. You will get banned eventually, as this is required by many anti-cheat softwares, including Steam's VAC (Valve Anti-Cheat). DEP has been around since XP SP3, it's very mature now and works even with really old games and shouldn't be a source of problems these days, and it's also required by Windows PAE.

2) Virtualization is handled differently in Windows based on whether you did a clean install or an "upgrade" (Windows Updates), and I only bring this up to point out that virtualization has some quirks and it's good information to know, because it can be the difference between why one guy has an issue and another doesn't.

3) Other relevant settings that will decrease DPC latency are all of the BIOS power settings, such as Speed Step, Cool and Quiet, etcetera. Turn it all off, including sleep states and just let your CPU run at full clock potential all the time (which will still be controlled by Windows power plans regardless). Optimizing the BIOS is really important, and I need to write up a guide on this. Even with an optimized BIOS it doesn't fully solve the Nvidia issues though, because Microsoft/Nivida have to fix that issue.

And people wonder why gamers stick with certain versions. Well, this is the perfect example of why, Microsoft continues to release buggy, untested crap. There is so much telemetry and logging that these issues should have been caught. This is what happens when you fire your quality control team (link4) to appease shareholders.
 
Last edited:
Garlin brought up virtualization, and that is probably the best across the board advice for everyone. It's been discussed a few times on the forum, but it doesn't get much attention each time. It won't fix this Nvidia issue, but will help overall DPC and game performance. To elaborate more on this stuff:

Everyone go into your BIOS and look for a section that discusses "Virtualization". It's usually grouped up in the bios near the "Execute Disable Bit (NX)" which is the setting that allows Windows to use DEP. Once you find it in the bios, disable Virtualization/Hyper-V settings, then save and exit. Afterwards, it is recommend that you cleanly reformat/install Windows for full optimization because then it is gauranteed to adjust all of the related settings in the Security Center/Registry properly. Lastly, once you finish your clean install of Windows, go to "Turn Windows Features On or Off" in Control Panel and make sure Virtualization is unchecked.

Both Windows 10 and 11 version 22H2 have some major performance issues at release and were not ready for distribution, especially right before Microsoft left the office for the holidays. Not only is the Task Scheduler broken in both releases and has no fix yet, but it was confirmed by Nvidia/Microsoft that debugging was enabled by mistake on the W11 version, which took way too long to fix, resulting in KB5020044. In addition to that, AMD CPU users are still reporting major performance loss in 22H2 and is very likely related to Virtualization issues.

I would highly recommend sticking with 21H2 right now, and pausing Windows Update until at least mid-January or later, until Microsoft comes back and fixes this stuff. Personally, I'd do a clean reformat/install of 21H2 and integrate the Windows Update pausing keys so it is paused by default. Windows Update continues to still install the wrong drivers as well, on 22H2 it gave me a 2 year old Nvidia driver that was over 20 versions ago. You'll also want to integrate the Driver updating and Windows Store keys to stop it all from messing things up.

Pause Windows Update:
; Start > Settings > Update & Security > Windows Update > Advanced options > Pause updates > Up to 4 years
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsUpdate\UX\Settings]
"FlightSettingsMaxPauseDays"=dword:000005b4

; Start > Settings > Update & Security > Windows Update > Advanced options > Pause updates > Until January 1st, 2026
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsUpdate\UX\Settings]
"PauseFeatureUpdatesStartTime"="2022-07-01T20:00:00Z"
"PauseQualityUpdatesStartTime"="2022-07-01T20:00:00Z"
"PauseFeatureUpdatesEndTime"="2026-01-01T20:00:00Z"
"PauseQualityUpdatesEndTime"="2026-01-01T20:00:00Z"
"PauseUpdatesExpiryTime"="2026-01-01T20:00:00Z"

; Hidden > Settings > Update & Security > Windows Update > Advanced options > Download missing drivers > Off
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching]
"SearchOrderConfig"=dword:00000000

; Start > Microsoft Store > Settings > App updates > Off
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate]
"AutoDownload"=dword:00000002

Some other notes:
1) Do *not* disable DEP in the BIOS or in Windows. You will get banned eventually, as this is required by many anti-cheat softwares, including Steam's VAC (Valve Anti-Cheat). DEP has been around since XP SP3, it's very mature now and works even with really old games and shouldn't be a source of problems these days, and it's also required by Windows PAE.

2) Virtualization is handled differently in Windows based on whether you did a clean install or an "upgrade" (Windows Updates), and I only bring this up to point out that virtualization has some quirks and it's good information to know, because it can be the difference between why one guy has an issue and another doesn't

3) Other relevant settings that will decrease DPC latency are all of the BIOS power settings, such as Speed Step, Cool and Quiet, etcetera. Turn it all off, including sleep states and just let your CPU run at full clock potential all the time (which will still be controlled by Windows power plans regardless). Optimizing the BIOS is really important, and I need to write up a guide on this. Even with an optimized BIOS it doesn't fully solve the Nvidia issues though, because Microsoft/Nivida have to fix that issue.

And people wonder why gamers stick with certain versions. Well, this is the perfect example of why, Microsoft continues to release buggy, untested crap. There is so much telemetry and logging that these issues should have been caught. This is what happens when you fire your quality control teams.
I disabled DEP and avoided jail time haha. I don't play any multiplayer games anyways so I am good. Also weird thing was it provided my ddr3 system a boost. When I tested newer ones ddr4 and up they didn't receive if any at all. I believe this is due to the extra traffic they got going across.
 
DEP doesn't impact latency, it's just randomizing memory page order to prevent buffer overflows from working.
You should leave it on. Other virtualization features are very costly at the CPU/interrupt level.
 
DEP doesn't impact latency, it's just randomizing memory page order to prevent buffer overflows from working.
You should leave it on. Other virtualization features are very costly at the CPU/interrupt level.
I remember making a thread on it how it changed my system to produce better performance. Once again this was only on a older system(my system) and everyone's results will vary. 98 percent of people should however keep it on however.

Yes on the virtualization however
 
I will update this page with my new latancy results. Pretty good for me. When using MSI I spread it across all processor's on the GPU. Also adding additional power settings help out a lot.

I'm waiting for the update! :)

3) Other relevant settings that will decrease DPC latency are all of the BIOS power settings, such as Speed Step, Cool and Quiet, etcetera. Turn it all off, including sleep states and just let your CPU run at full clock potential all the time (which will still be controlled by Windows power plans regardless). Optimizing the BIOS is really important, and I need to write up a guide on this. Even with an optimized BIOS it doesn't fully solve the Nvidia issues though, because Microsoft/Nivida have to fix that issue.
[/SPOILER]

Interesting tip, I did not know that installing Windows with virtualization enabled adds more latency. Your suggestion for disabling Speed Step and P-States (I assume you mean those too) is kinda specific though. For audio production sure, but for gaming I'd just use Process Lasso and force a high performance plan while the game is open. That way you can benefit from the power savings.
 
I'm waiting for the update! :)



Interesting tip, I did not know that installing Windows with virtualization enabled adds more latency. Your suggestion for disabling Speed Step and P-States (I assume you mean those too) is kinda specific though. For audio production sure, but for gaming I'd just use Process Lasso and force a high performance plan while the game is open. That way you can benefit from the power savings.
My results
 

Attachments

  • latmonNecrosaro.txt
    10.5 KB
Status
Not open for further replies.
Back
Top