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

Status
Not open for further replies.
In my optimized image guide I have a whole .reg file dedicated only to power plan settings. I spent a few months on just that topic, researching and thoroughly tearing apart the registry tree for power plans and learning it inside out. There are 142 total keys I think it is offhand, and I turned off as much of the obvious power savings as possible, core parking related stuff, etcetera. My power plan is more effective than the ultimate plan plus bitsum's plans combined, but I still get the spikes from Nvidia. I'm sure it will greatly help a lot of people that are worse off though, especially people suffering from ACPI issues if they try my reg file.

I think you are on the right track for sure though, there is still a specific avenue that I left on my todo list because it was too volatile and I needed to spend more time on it, and that's handling the "idle states" of Windows. So you can straight up disable idle states entirely, however there appears to be a bug in the task manager or performance counters or something because when you do this the CPU load goes up to 100% all the time, even when idling at the desktop, and it starts to act strange. There are quite a few CPU settings to experiment with (about half of those keys are CPU keys), but there's almost no documentation on them, and it will take months of testing to figure out what they all do.

I have noticed though, that even if your CPU/GPU are under a load, such as running a game, the CPU will constantly try to downclock and enter an idle state, and this is a factor in DPC issues. I just haven't yet figured out how to safely address this. I don't want to brick people's systems by peddling something I'm not confident in.

If you want to "see" what I mean, download the TimerBench tool from overclockers.net and run the test in fullscreen at your native resolution. Then in the results take a look at the CPU Load screen. You will probably see 2-3 dips, where the CPU downclocks for brief periods of time, but this is rather devastating in a game, and absolutely is a cause of DPC, stuttering, and lower framerates.
 
Last edited:
ive got a test image ready to go, give me what you got and lets see what happens. ive got bitsum quickcpu fr33thy and MT_ powerplans, power settings explorer. if you dont want it out in the wild reaping havoc zip/password it for a selected group of testers, see what results come back. ive got an xp cd( ;) :cool: ) somewhere, just need a miners helmut and davey lamp to find it.
 
Last edited:
*WARNING*
I'm uploading this stuff for Clanger, and anyone else that wants to experiment, but I cannot stress enough that you should not change power plan values unless you are prepared to bork your Windows installation, requiring a reformat to fix. You are going to be experimenting and troubleshooting in volatile and undocumented territory. Aside from disabling stuff in Windows or the Bios, this is about the only thing you can do to improve performance in a meaningful way, apart from just buying new hardware. The pay off here can be big, but so are the dangers.
*WARNING*

Attached is my entire power plan testing platform for Windows 10 21H2 Home. I know this probably seems a bit complicated at first glance, but you need all of these things if you want to do it properly and efficiently. It will become more clear once you dive into the power plan registry trees, why my work area is put together this way. I'm a QC guy, so I have an enormous focus on high quality (no bugs, no typos, only polished projects) and these files are the result of months of work on this topic. I don't expect people to find any bugs or typos in this stuff, but if you do please let me know so I can fix them. Explanations of each file are explained in detail below.

POWER PLAN FILES
- File "Power_Export.bat" is a tool to export power plan settings into a txt file. I use this on a clean, unmodified install of Windows to get the defaults. It is vital to know that during the install of Windows it dynamically alters a number of defaults based on the power capabilities of the device. In other words, laptops have some default keys that are different than their desktop counterparts and it's more keys than what the internet has documented. You cannot know if your final power plan is good enough to share online unless it has been tested on both a laptop and a desktop because of this. Some keys are only usable on a laptop too.

- File "Power_Optimized.reg" is pulled straight from here (link) and renamed. It can be safely used on desktops and laptops to improve performance. These settings have been thoroughly vetted and I'm currently using them on both my personal desktop and laptop.

- File "Power_Clean.reg" is just a little tool I made to collapse all the branches in the Windows registry editor, and to reset all power plans to their default values. I needed this for testing because all the expanded branches kept cluttering things up, and I also needed to reset plans frequently because I'm editing the hardcoded defaults. It's important to note that "reset the values to defaults" means it resets the values to whatever defaults you edit these keys into. The modifications I make become the new hardcoded defaults. This is the cleanest and best way to edit power plans because then Windows thinks this is what Microsoft coded.

- File "Power_High.reg" is the entire set of keys that belong to the high performance power plan. The file includes all of the changes in "Power_Optimized.reg" but also has the default keys for the rest of the tree included, as well as enabling the visibility of every single hidden setting in the Power Control Panel so you can adjust the values there, instead of in regedit.

- File "Power_IdleStates.reg" is a pair of keys that I was going to include in my "Power_Optimized.reg" file for version 1.0 of my guide, but I decided against it because I wanted to test them more, and add some companion keys too. For CPU keys you really need to download a program that monitors all of the different kinds of power states. The goal here is to eliminate the CPU from trying to downclock while under load, which you can see in visual graph form by using the TimerBench tool from the overclockers.net website in the CPU Load results.

- Anyone experimenting with power plans should do themselves a favor and create a desktop shortcut that goes to the Power Control Panel. If you cannot figure out how to do this on your own, then you are not qualified yet to mess with any of the files I've posted here.

- All of the registry keys in my files are sorted by how they appear in the Power Control Panel and with some other logical organization added, not how they appear in regedit. It will help you test things faster.

Note: you will need a program like DiffMerge from sourcegear.com to effectively compare and test power plans. With it you can quickly compare hundreds of lines of keys and see where the actual differences are, useful in conjunction with Power_Export.bat for example.
 

Attachments

  • Power.zip
    16.6 KB
Last edited:
w7 pro x64, eol, gt710 473.81 driver, power optimised.reg, im still spiking over 500. add in other tweaks, hpet disabled in device manager, process lasso set to performance im still spiking over 500.
 
In your report the Nvidia driver is great, but wdf01000 is really quite bad with massive DPC Counts. I don't know what ntsokrnl and wdf01000 really are under the hood, since these are like "catch all" processes. Antivirus software is a huge contributor to overall DPC issues though, and a large factor in other related problems, such as hard pagefaults, stuttering and being disconnected from things like voice chat or straight up being kicked out of a game mid-match, etcetera.

You can add software exceptions into Defender, but the real time scanning is always going to be a problem because it's targeting the whole operating system, drivers, network adapter, and software like games. You said you didn't disable Defender, so that's probably the issue there. There's a reason older operating systems didn't have as many issues, because all this realtime monitoring didn't exist back then by default, or to the degree it is today. Gaming and security in general just really aren't compatible and never have been.

I'm quite certain if you and Taosd both disable your antiviruses at least just temporarily for testing purposes that the numbers will be dramatically different. I don't want this thread to devolve into security arguements though since that topic is ultra polarizing, I'm just stating the data, it's up to each person to decide how they want to address it.

While Microsoft didn't explicitly say W10 22H2 was affected, it might be that 22H2 is the issue:
https://www.neowin.net/news/microso...ance-issues-on-windows-11-22h2-blocks-update/

Microsoft may have purposely avoided mentioning W10 because they want to urge people to switch over to W11.
Wdf01000.sys is connected usb devices most of the times and ntoskrnl.exe is cpu\system power managment. To fix Wdf01000.sys you have to enable MSI on USB HUB and bind Hid-complient mouse\keyboard on less busy core using Microsoft Interrupt Affinity Tool. In device manager open all usb properties and disable power saving features. Im also recommend giving cssr.exe real time priority since that proccess controll usb interrupts,i have attached .reg file to do so.

To fix ntoskrnl.exe you have to change your power plan. For AMD 5000 series i recommend my own developed power plan with promote and demote features disabled. (attached to message) I dont know how it will behave on Intel cpu's but if it wont help try EverythingTech's power plan or Bitsum High Performance.
 

Attachments

  • csrss prior1.reg
    666 bytes
  • Zefir Extreme Low Latency.7z
    2.4 KB
My results with 5 min latencymon. The overall system DCP is great and latency in my opinion is close to perfect,but i still have nvlddmkm.sys and dxgkrnl.sys spikes up to 280 as soon as i open steam or chrome or any application which somehow use GPU.
System :
Ryzen 5600X PBO enabled +200
MSI b550m mortar with custom bios HPET disabled
Asus DUAL RTX 2060 6GB
527.37 driver with all telemetry deleted
M2 nvme gigabyte 240gb ssd
and x4 120gb regular ssd's
chieftec 750w psu
Microsoft Windows [Version 10.0.19044.1288] 10 pro x64 22H2.
All bloatware removed.
 

Attachments

  • latmon5min.png
    latmon5min.png
    24.9 KB
  • latmon5min.txt
    9.3 KB
wish i'd never found this damn rabbit hole, ignorance was bliss. who do i see about being plugged back in?
I plan on unplugging my external drive and retest. My drive is so full it's probably the reason it's upping my numbers a bit.
 
My results with 5 min latencymon.
This is super great DPC, and yet again it's another AMD processor. I think the most efficient thing to do from here, is get as many people as we can that have good DPC on their machines to do a clean install of Windows without any tweaks, and see if the DPC remains good. If it does, then it's not tweaking related at all for the cause or solution to this deep-level DPC issue. In that case it's going to be chipset/motherboard/bios primarily responsible.

Basically we just need to narrow this down in some way, so that it makes finding the solution more manageable. Right now it can be literally anything as the cause/solution. So if we can at least cut the suspects in half, and determine if it's software vs hardware, then we can make some real progress.
 
This is super great DPC, and yet again it's another AMD processor. I think the most efficient thing to do from here, is get as many people as we can that have good DPC on their machines to do a clean install of Windows without any tweaks, and see if the DPC remains good. If it does, then it's not tweaking related at all for the cause or solution to this deep-level DPC issue. In that case it's going to be chipset/motherboard/bios primarily responsible.

Basically we just need to narrow this down in some way, so that it makes finding the solution more manageable. Right now it can be literally anything as the cause/solution. So if we can at least cut the suspects in half, and determine if it's software vs hardware, then we can make some real progress.
I did over 10 clean installs of different windows versions. I've tried win 7, 8.1, 10 1607 with custom rtx driver,1809,different builds of 22h2 - the DPC on all of them is great from start,like maybe 30% worse than you seen in my log. Nvlddmkm still reporting 200+. It was all unofficial windows builds with things like defender/onedrive/edge/store etc... removed,and i stronly recommend everyone disable as much services as you can including windows defender or any other anti-virus if you use PC only for gaming.

I am in strong disbelief what it is other hardware\software issue.
In my opinion this is Nvidia driver issue,other way how could anyone explain what i have 1000+ spikes on 441.41 and only 280+- spikes on 527.37.
The spike happening when GPU switches power states so its 100% driver or GPU bios issue.
 
I guess i have found a fix for nvlddmkm.sys and dxgkrnl.sys spikes. 2 hours usage in web browsing and games - maximum nvlddmkm.sys spike - 22us.
Decided to give 441.41 driver last chance since there is much more dwords available for older drivers.
For anyone who still has that issue i want you to try this fix and report with your results,no matter what driver version you use.
Please be aware what after this dwords there is a chance your windows no longer load nvidia driver,so be ready to completely wipe that registry folder and perform clean driver install.

Moderator note could be a fix.reg - removed for users safety, it has bricked a system.
 
Last edited by a moderator:
I guess i have found a fix...
Attachments: could be a fix.reg
I just knew I should have taken the time to Google this and investigate it before trying, but I decided against my better judgement and instead I quickly reviewed the keys and applied it. My system is now bricked.

Please delete this reg file for now so that nobody else accidentally ruins their Windows, until this can get sorted out. Mods if you are online please do this now so that we don't have other victims since this is time sensitive.

I don't think ZEFIR001 meant to harm anyone, as I have seen a few of these keys already and tried them out, individually, and it looked like this set of keys wouldn't be problematic, but this is just a great reminder of why we need to thoroughly research and test stuff before publishing it online.

...I'll be offline for a few days as I work on getting my info recovered.
 
Last edited:
I just knew I should have taken the time to Google this and investigate it before trying, but I decided against my better judgement and instead I quickly reviewed the keys and applied it. My system is now bricked.

Please delete this reg file for now so that nobody else accidentally ruins their Windows, until this can get sorted out. Mods if you are online please do this now so that we don't have other victims since this is time sensitive.

I don't think ZEFIR001 meant to harm anyone, as I have seen a few of these keys already and tried them out, individually, and it looked like this set of keys wouldn't be problematic, but this is just a great reminder of why we need to thoroughly research and test stuff before publishing it online.

...I'll be offline for a few days as I work on getting my info recovered.

Damn, i hope you recover it all
 
Status
Not open for further replies.
Back
Top