Jump to content

Latency - wdf01000.sys high load.


garybrun

Recommended Posts

For those of you who have latency problems.
Its took me ages to find a solution to fix the high system load that kept popping up in my windows 11 installation.
I have now solved it..  its a long process of things to optimize  but it works fine now.
Hope some people find it helpful.

Gary
 

These are the things that go through the video...  so you don't have to keep coming out of the page.

DISM.exe /Online /Cleanup-image /Scanhealth
Dism /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-image /RestoreHealth
sfc /scannow

DEVICE MANAGER:
Disable devices not in use
Disable USB power management

WINDOWS SETTINGS:
POWER PLAN
Ultimate performance:
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
download PowerSettingsExplorer https://forums.guru3d.com/threads/win...
Processor idle promote/demote treshold - 100%
Processor performance core parking min cores - 100%

Core Isolation - off
Optimisation for windowed games - on

BIOS:
iGPU - off
HyperThreading - off
CPU Virtualization - off
C-states - off
Integrated Audio - off if not needed

CMD:
DYNAMIC TICK
bcdedit /set disabledynamictick yes
to reverse: bcdedit /deletevalue useplatformclock

GRAPHICS DRIVER:
Debloat Nvidia driver
(Optional)Uninstall old driver with DDU https://www.guru3d.com/files-details/...
DDU Guide https://www.wagnardsoft.com/content/D...
Debloat with NVSlimmer https://forums.guru3d.com/threads/nvs...
Tweak Nvidia settings
Set Nvidia power management to maximum performance - explorer.exe, dwm.exe, nvidia control panel, steam, whatever else you are using

Disable fullscreen optimization for games

ADVANCED STUFF:
Update Your BIOS Drivers

Enable MSI mode for GPU driver
https://forums.guru3d.com/threads/win...

REGISTRY:
Set process scheduling to long quantum
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\PriorityControl\Win32PrioritySeparation]
16 + 4 + 2 = 22 Dec / 16 Hex = Long, Variable, High foreground boost.(3x)
All Variations: https://forums.guru3d.com/threads/faq...

Lower DataQueueSize for mouse/keyboard
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Serv ices\kbdclass\Parameters - KeyboardDataQueueSize
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Serv ices\mouclass\Parameters - MouseDataQueueSize DWORD (32-bit) value
Decimal 100 is default, the lower the better, setting the value too low can cause glitches

SER VICES:
Registry backup: https://www.winhelponline.com/blog/ba...
Disable list: https://nerdschalk.com/what-windows-1...
I disabled those on my pc:
Program Compatibility Assistant Ser vice
Downloaded Maps Manager
Parental Controls
Print Spooler
Retail Demo Ser vice
Network connection broker
Windows Biometric Ser vice
Geolocation Ser vice
Connected Devices Platform Ser vice
Radio management ser vice
Disable non-Microsoft ser vices in msconfig

Set Manual Interrupt Affinity for drivers
https://www.techpowerup.com/download/...
GPU, Mouse, Keyboard, Audio interface or whatever else you need on least busy cores

Make sure your USB devices are plugged directly to the CPU and not through the Chipset!

Edited by Wookiee
Unfortunately the word ser vice(s) is a keyword
  • Like 2
  • Thanks 2
Link to comment
Share on other sites

36 minutes ago, Wookiee said:

@garybrun your post was hidden due to a key word which has been modified to get around the problem.  The word has been add due to the flush of recent spam offering ser vices ;) 

well thanks for the info as I wouldn't have known  🙂

Link to comment
Share on other sites

Some good (and scary ones) in this video.

I ran a couple of these, especially the NVIDIA Debloat and driver slimming suggestions, along with the DYNAMIC TICK suggestion.

Honestly though, my biggest update was finally being able to add an RME Babyface Pro FS to my setup, it has been an absolute dream for me here. My past livestreams have been rock solid and I am able to run everything at 128 buffers which nets me around 2.7 ms roundtrip latency. It has been such an eye and ear opening experience with this and now I know first hand what everyone has been talking about all of these years.


Here is what my latest Latency Mon is looking like:

LATENCY-MON-021024.jpg

  • Like 2
Link to comment
Share on other sites

13 minutes ago, garybrun said:

@Simeon Amburgey
This is the one...  on the high performance power plan.
Crazy massive change..

https://www.youtube.com/watch?v=n9xAG3nb9XQ

I am now running all of my projects on my UAD with latency at the lowest of 32.
Not even a twitch and loads of plugins on.

Will definitely give this a look.
Thanks for sharing!

Joyfully,
Simeon

  • Like 1
Link to comment
Share on other sites

That OP is a pretty comprehensive list worthy of being a reference guide! The only one I didn't see explicitly, although would be covered with services, is disabling "Automatic network discovery." For folks who do work staying connected, that is often the biggest latency hitter as it pings every 4 seconds or so. You really don't want your computer trying to connect with "everything in range" on its own anyway; that should be a very deliberate pairing for simple security reasons.

  • Like 3
Link to comment
Share on other sites

On 2/11/2024 at 9:09 AM, garybrun said:

@Simeon Amburgey
This is the one...  on the high performance power plan.
Crazy massive change..

https://www.youtube.com/watch?v=n9xAG3nb9XQ

I am now running all of my projects on my UAD with latency at the lowest of 32.
Not even a twitch and loads of plugins on.

Gary,
I ran that particular tweak and it did seem to make a big difference.
Here is another video that goes into a possibly more specific breakdown of the Ultimate Power Plan settings:

Again, I have to go back to the dramatic difference my stability became after installing the RME interface and drivers. It would be interesting to see if things held steady let’s say if I went back to the Arturia or Focusrite. That might be something to investigate, but for now I am feeling a confidence in my system that is hard to explain.

Joyfully,
Simeon

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thanks for your post, garybrun!

Which tweak would you say is the most dramatic in terms of DPC Latency? I tried most of the "classic tweaks". I'm interested in 
- Set Processor performance time check interval - 5000
- Set process scheduling to long quantum
 

Thanks

Bullo

Link to comment
Share on other sites

I just did the hacks in the first video and it solved my wdf problem,
i found the the check interval hack... which decreased latency even more.

I can guarantee that the hacks in the first video work.
I wished I found these years ago.

I am now running at the lowest buffer size (32) with no problems at all.

I'm not searching for any more hacks...  I'm rock solid.  🙂

Edited by garybrun
  • Like 4
Link to comment
Share on other sites

I haven't watched the first video yet, although I will, just to check it out.

The recommendation to disable hyperthreading is a red flag, though. I've tested that one pretty thoroughly and modern audio software seems to prefer having those virtual cores. To the point of the same Cakewalk project not even being able to play when hyperthreading was disabled.

At least, if you try it, don't do so blindly, test before and after with a large project with lots of plug-ins to see if you get a latency improvement with no other negative consequences. There's a lot of outdated folklore floating around in the Windows audio community about what settings to enable or disable in BIOS.

It neglects to consider that technologies that may have not worked so well when they were first introduced but then got the bugs worked out by the hardware manufacturers and Microsoft. Up until a couple of years ago, the Cakewalk Reference Guide  even suggested disabling ACPI in your BIOS 'cause that darn plug 'n' play just didn't work right. That advice is about 25 years out of date, but it stuck around in a company's documentation.

The one about setting processor performance time check interval, though, whoa doggie. I never heard of that one before and at least in my initial testing, it's cut my LatencyMon average measured interrupt to process latency in about half. Remains to be seen how that will affect actual use of programs, but it seems impressive at least for now.

The other one, setting process scheduling to long quantum, I'm much more skeptical about. I Googled it and it seems like it would cause problems. I'm not even going to try that one.

This topic also inspired me to go in and double check one of my favorite tuning things, which is to set as many devices as possible to use message signaled interrupts. This has to do with our old, old configuration bugaboo, IRQ's and what happens if two devices wind up sharing an IRQ. On my system, my motherboard loves to assign both my Firewire adaptor (which of course connects my audio interface) and my nVidia GT 1070 to IRQ 16. Fortunately, the nVidia supports message signaled interrupts, but somehow it got disabled, so I just turned it back on.

Thanks for posting these tweak guides. With all of them, do your own independent research via Google, don't take any single person's word for it (except maybe Jim's 😊). If you don't understand what it does, make notes about what you do and test your system before and after. If it has no effect or a negative effect, back the change(s) out immediately.

  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...
On 2/8/2024 at 11:04 AM, Jim Roseberry said:

FWIW, You do NOT want to disable Hyper-Threading.

That was necessary many years back... with the very first implementation.

Hasn't been necessary since Steinberg and other developers caught up (shortly after).

When I see disable HT I  find it hard to follow any advice from the author.

  • Like 1
  • Great Idea 1
Link to comment
Share on other sites

  • 4 weeks later...
Posted (edited)
On 2/25/2024 at 3:33 AM, kitekrazy said:

When I see disable HT I  find it hard to follow any advice from the author.

Its not just the author I have followed I've checked around.
Forget the HT... it all works and I have a massive improvement.
The secret is to take what you can use and what you can not.
the proof of the pudding is in the eating.
Im stuffed  🙂

Gary

Edited by garybrun
  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...