Hellbovine

Well-Known Member
Note: This thread was deleted and re-posted with the help of a moderator, to clear the derailment that was taking place. Keep all replies related to the contents of this guide, and do not post about the Nvidia driver bug in this thread. Disagreeing with parts of the guide or someone's reply is okay, but it needs to be supported with evidence and presented in a respectful manner, rather than being a low effort opinion or attack.

If your computer has stuttering, audio distortion, crashes, or other noticeable problems while playing a game or working on audio production, it may be due to high Windows latency, which is an extremely important topic that is often overlooked. The term related to this topic is referred to as Deferred Procedure Call (DPC), and is a very technical subject, but this guide is going to make it as simple as possible.

A computer has DPC issues when a driver is having difficulty processing data in a timely manner, then communication between devices becomes congested, causing performance to suffer. Although this topic is aimed mostly at gamers, DPC latency is still relevant for all computers, regardless of the hardware or intent. Something that many users do not realize, is that when they are tweaking Windows to reduce resource usage, many of the gains are actually coming from improvements in DPC latency, which is a side effect of lowering the overhead of Windows.

DISCLAIMER
Before you get started with this guide, make sure to backup all of your important files. Troubleshooting can be volatile, you may end up needing to install Windows again, and some major DPC problems require this as a mandatory step, so it is best to prepare a Windows install USB in advance too.

Create a list of every piece of hardware in your computer, because you will need to know what you have in order to optimize everything. If you are not sure how to do this, you can download a program, such as Speccy from Piriform to assist.

It is important to know there are differences between desktops and laptops regarding DPC latency. A laptop's purpose is convenience, they are not for gaming or audio production, and "gaming" laptops are just marketing hype. There are many reasons for these disparities, but all that matters is laptops always have much higher DPC latency than their equal desktop counterparts.

STEP 1: RECORD DPC DATA
The following steps explain how to check the DPC levels of a computer.

1A) Download the latest version of LatencyMon from the official website.

1B) Find the downloaded file, right-click on LatencyMon and select "Run as administrator" to install it, and follow the prompts. Uncheck the option to launch LatencyMon at the end.

1C) Before running LatencyMon, reboot the computer. Wait about 2 minutes for Windows to finish initial background activities, then right-click the LatencyMon shortcut and select "Run as administrator" to load it, and then maximize the window so that it is full-screen.

1D) Click the green "Start monitor" button at the top left and then take your hand off the mouse and keyboard. Once the timer has reached 5 minutes press the red "Stop monitor" button at the top left.

Note: All recordings should be ran for 5 minutes, performed only after a reboot, and while the computer is idle, without other programs running.

STEP 2: DIAGNOSE DPC ISSUES
Identifying a problem is fairly easy, since anything spiking over 100 microseconds can be problematic. If a driver is reaching into the hundreds or thousands of microseconds it will almost assuredly manifest as a problem somewhere, even if you do not overtly notice it, and the performance of the system will be hindered. To get started, we need to identify the most troublesome driver first.

2A) The "Main" tab is a quick summary of the latency spikes in the computer. Look at the text labeled "Highest reported DPC routine execution time" and you will see a number, such as 1098.145234 microseconds, which indicates how long the pause was for. In the parenthesis to the right of it there will be a driver name, such as ndis.sys and that is the driver responsible for the spike.

2B) The "Drivers" tab gives a detailed look at every driver and how high each of them is spiking, as seen in the "Highest execution" column. Note that this number is now in milliseconds, and so a value of 1.098145 in this column is exactly the same spike we saw on the first tab.

Note: Another problem to be on the lookout for is checking if your processor speed is being reported correctly by LatencyMon. If not, that is a fairly good indicator that some tweaking of the BIOS could improve DPC latency on that computer.

STEP 3: UNDERSTANDING DPC ISSUES
To fix these problems we have to understand why they are happening. Underneath all the user interfaces are countless lines of code that have an infinite number of ways a developer can make a mistake, and even if all the code is working as intended users can create problems by doing something that developers cannot reasonably plan for. The major sources of DPC issues are listed below.

3A) BIOS: The main problem here is that people will overlook this aspect and use the default settings, which are not optimized for DPC latency. The other issue is that some users will haphazardly change settings, which can make things worse than the defaults.

3B) Drivers: This is where a lot of operator error occurs, because too many people are using third party driver installers or Windows Update, and that is an issue, since the methods for hardware matching are not always accurate, meaning incorrect or unnecessary drivers can be installed, which creates bugs. For example, if I let Windows Update run on my desktop computer it will download a 2 year old graphics driver that has a broken control panel, and on my laptop it forcibly installs an optional monitoring app that causes an error on every reboot.

3C) Windows: As the operating systems have grown over the years they have more code running than ever before, naturally increasing the chances of a conflict occurring, leading to DPC issues. The increased background activity also consumes more resources, which worsens DPC latency, and is a large part of why newer operating systems have so many issues with gaming, compared to much older Windows.

STEP 4: BIOS OPTIMIZATION
Enter the BIOS during a reboot to configure it, which usually requires a function key to be pressed, such as F2. If a mistake is made, a few methods for resetting the BIOS exist--there is a reset to defaults option in the BIOS menu, it can also be reset by removing the CMOS battery from the motherboard (turn off the power first), or reset by putting a jumper over the appropriate pins.

4A) Reset the BIOS to defaults. Be sure that any boot configuration options you manually changed before, such as IDE/AHCI mode or UEFI/CSM do not get altered in this process or you will be forced to install Windows again. If you have serious DPC issues though, this may be part of the problem and perhaps using the default boot options and cleanly installing Windows will be how you fix things. Lastly, take note of the BIOS version, then save these changes and exit, allowing the computer to boot back into Windows.

4B) Go online and check the manufacturer website for your motherboard and download the latest BIOS update, then follow the instructions and install it. After the update is done, reset the BIOS to defaults one more time, then save and exit before proceeding.

4C) BIOS settings have little documentation, and the fastest way to figure out what something does is to write down literally every setting you have and Google them. You can also download the PDF manual for your motherboard and it may explain the settings in more detail. There are too many settings out there to list them all, so it requires some experimentation to figure out the best combination for your computer. Below are some commonly tweaked settings related to improving performance.

- Disable Enhanced Halt State (C1E)
- Disable OS ACPI C3 Report
- Disable OS ACPI C2 Report
- Disable Intel SpeedStep Technology or AMD equivalent
- Disable integrated graphics (if a GPU is installed)
- Disable unused devices (e-sata, serial ports, etcetera)
- Disable Intel Turbo Boost Technology or AMD equivalent
- Toggle Intel Hyper-Threading or AMD equivalent
- Toggle XMP Memory Profile or AMD equivalent
- Disable Virtualization Technology and VT-d
- Disable Intel Dynamic Power Technology or AMD equivalent
- Set Processor Power Efficiency Policy to High Performance
- Disable Intel Smart Connect Technology or AMD equivalent
- Disable Intel Rapid Start Technology or AMD equivalent
- Disable Deep S4/S5
- Disable PCIe ASPM Support
- Disable Native ACPI OS PCIe Support

4D) A problem that is causing massive DPC latency in the modern age are NVMe/M.2 drives, and improper settings in the BIOS for those. To specifically resolve these issues you need to experiment with the settings related to PCIe Bandwidth Configuration. Check the manufacturer of your drive to see what their support articles recommend.

Note: The basic premise in this section was to disable unused features, power savings, and settings that cause the processor clock speed to fluctuate, as these are things that create DPC issues. Also, it is recommended to enable Execute Disable Bit (NX), since it is required for DEP (Data Execution Prevention), because some anti-cheat software requires this, and you could get banned if it is disabled. Lastly, enabling HPET does not force that timer, it only allows the timer to be available to Windows if it is needed, and some benchmarking software requires it.

STEP 5: DRIVER OPTIMIZATION
The main remedy to fix a bad driver is to uninstall the culprit then replace it with a better one. There is one big problem that causes interference in modern operating systems though, and that is forced Windows Updates, as previously explained in the "Understanding DPC Issues" section. To combat this, unplug the computer from the internet while working on driver problems.

5A) Update all hardware firmware. Similar to BIOS, firmware is the code that is built into the actual hardware. Many devices have firmware updates available, such as optical drives, graphics cards, solid state drives, internet routers, etcetera. The easiest way to find these is to type in the model number at the manufacturer website and specifically look for "firmware" downloads. Take the time to check every piece of hardware connected to the computer, both internally and externally.

5B) Check that all the required drivers for the computer are actually installed. To do this, access the "Device Manager" which can be found in the Control Panel, then check for any yellow exclamation marks which indicate that a driver is missing. Some of the device names are easy to recognize, but others will require a Google search to figure out.

5C) Now uninstall problematic drivers, reboot, install new drivers, reboot, and see if the issues have been resolved.

Note: Only download the latest official drivers from the hardware manufacturer, you should not be using third party driver packs, modded drivers, or Windows Update for drivers. Also, be sure to always right-click and "Run as administrator" when installing them. For some drivers you have the option of using the manufacturer version or the one that come from the designer. For example, Realtek Audio supplies a generic sound driver, but some hardware manufacturers will provide a customized version. In situations like these, try both and see which one is better.

STEP 6: WINDOWS OPTIMIZATION
The goal here is to disable power savings, reduce background activity, and stop features from taking control of the computer. This is where the NTLite program shines, because these tweaks can be integrated into an image, so that a clean install of Windows is already optimized with your tweaks and preferences, and does not require any further tweaking once you reach the desktop.

6A) Below are some of the commonly tweaked settings, and you do not have to do all of them, but each one will help to reduce overhead.

- Disable troubleshooters/diagnostics
- Disable telemetry everywhere (Windows, apps, drivers, etcetera)
- Enable the "High performance" power plan
- Adjust advanced power settings to disable power savings features
- Disable/pause Windows Update
- Disable automatic updating everywhere (Windows, apps, drivers, etcetera)
- Disable antivirus (Defender)
- Disable advanced security features (Security Center)
- Disable firewall
- Disable virtualization
- Disable indexer
- Disable sysmain (superfetch)
- Disable dynamic content (spotlight, ads, suggestions, etcetera)
- Reduce visual effects (DWM settings)
- Disable all syncing (OneDrive, Microsoft Account, etcetera)
- Disable all startup apps (do not automatically start programs after reboot)
- Remove all forms of file compression and encryption
- Disable pagefile or set it to a static amount

6B) All Windows operating systems have now reached end of life, except for Windows 10 and 11. As time goes on, more programs (games, browsers, etcetera) will stop working on older operating systems, so keep that in mind when choosing one. If you are building a computer, it is important to know that older operating systems may not have any drivers available for newer hardware.

6C) For Windows 10 versus 11, the benchmarks I used show Windows 10 being equal or slightly ahead of Windows 11 across the board. I highly recommend testing both operating systems to see which one has lower DPC latency on your specific machine, as I found Windows 10 to have lower average latency and fewer spikes than Windows 11, but this may be hardware dependent. It should also be noted that version 22H2 was rife with performance bugs and it took until about August of 2023 for most of them to be resolved. Version 21H2 has been far more stable.

6D) Another piece of advice is to upgrade hardware, but be sure to allocate money where it matters the most. The single biggest improvements that can be made to speed up Windows is ensuring that you are at least using a solid state drive or better, as well as 8 gigabytes of memory or more, along with a good processor that has a high single-threaded performance rating. These three pieces of hardware are most important, because it is where the bulk of all communication happens, and bottlenecks here can severely affect everything else.

6E) Something that is important to point out, is that Windows has never been a real-time operating system, meaning it is not focused on gaming performance. As such, even on a clean install of an unmodified operating system there is one Windows driver that will constantly spike (ntoskrnl.exe) and it is very difficult to calm it down. This driver will spike often on a default install, and that can be reduced by following this entire guide, but in a fully optimized gaming machine this driver may still be problematic at times.

6F) A great benchmarking tip is to open a command prompt as an administrator then enter, "rundll32.exe advapi32.dll,ProcessIdleTasks & pause" without quotes, and it will force Windows to work through the entire scheduled tasks list, plus other miscellaneous queues. This dramatically reduces the processes, threads, and handles in the Task Manager, after it is finished and the computer is rebooted. It takes about 15-30 minutes, depending on how fast your hardware is, and even after a clean install of Windows it is necessary to use this, because there is a huge amount of pending activity that is established from the moment you first see the desktop.

Note: License keys are interchangeable between Windows 10 and 11, so long as the editions match (Home, Pro, etcetera), and it is worth the time it takes to install and test them both, to see which is best for you.

STEP 7: OPTIMIZATION SUMMARY
The following is a summary of how to take everything learned up to this point and combine it into a final solution.

7A) Cleanly install a default Windows, and be sure to delete the previous partitions during Windows Setup. This is only going to be a temporary operating system so that we can do the next steps. Even if an installation of Windows already exists it is best to start fresh, as this eliminates a ton of problems right away, since broken and bloated Windows installs are extremely common.

7B) Update motherboard BIOS and optimize settings, as discussed in the "Bios Optimization" section.

7C) Update all hardware firmware, as discussed in the "Driver Optimization" section.

7D) Download the latest official drivers that are required, as discussed in the "Driver Optimization" section, but set them aside for now.

7E) Install a Windows image with your chosen tweaks, as discussed in the "Windows Optimization" section.

7F) Once you reach the desktop, check LatencyMon and diagnose the DPC levels. There should not be any issues at this point, but if there are they need to be fixed now. After all problems are resolved, proceed by installing only 1 driver, then reboot and run LatencyMon to check for conflicts, stopping to address any issues before repeating the process with the next driver.

PREVENT FUTURE ISSUES
Once you have a cleanly installed Windows with the required drivers, and no DPC issues exist, the next thing to think about is how to prevent problems in the future. From here, everyone installs their games and other software, but a minimalist approach is the best way to ensure that performance does not degrade over time. The biggest mistake I see is the overzealous installation of unnecessary software, such as those below.

- MSI Afterburner
- Nvidia GeForce Experience
- Razer Cortex Game Booster
- Bitsum Process Lasso
- Driver and software assistants (Dell, HP, etcetera)
- Unused/optionally downloaded .NET Frameworks

The point is that we will not need extra software installed once we are using an optimized computer, because everything these tools do will be addressed by other tweaks that are integrated into Windows instead. This means we can then save more resources and disk space by not installing any tools. The other important thing to do, is take the time to customize the software that does get installed, since there are numerous settings to configure in apps, such as the Steam gaming client for example, and unused features should be disabled to save resources.

Visit the Gaming Lounge to find more guides like these.
 

Attachments

  • Screenshots.zip
    216.4 KB
Last edited:
Hello, when you say "Disable advanced security features" in the windows optimization step, what do you mean by that?
 
Hello, when you say "Disable advanced security features" in the windows optimization step, what do you mean by that?
Things that can be accessed through the Windows Security Center app. Sorry for the confusion, I fixed the wording to better reflect this.
 
Hmm, as someone who used to write NT drivers, I was hoping for the "Understanding DPC issues" section to provide actual technical information that can be related back to driver coding concepts, not just blabber about that more code means more bugs and Windows Update still installing old drivers due to MS still believing that the latest driver submitted for Windows Update distribution is the latest and greatest from the driver writer (a mistake that happened began early in the Windows Logo program for hardware).
 
Developers aren't the target audience though, as stated in the intro. My guides focus on the same groups that the NTLite tool and the rest of this forum does, which is average home users, gamers, power users, and sysadmin. Microsoft already has tons of technical documentation available at learn.microsoft.com so there's no need to replicate it here. These guides and this forum are for explaining how the masses can fix and customize their computers, not trying to teach (link) programmers how to code better.
 
Last edited:
Of cause, I was merely hoping to have a "ground truth" relationship between the suggestions and actual DPC Latency. Because as written, this could be a writeup from any of the know-nothing content farms out there. The idea that overall bloat can affect DPC Latency is true in a vague general sense, but any specific kind of bloat will affect it in different ways. Most notably, only kernel mode components and overall multitasking scheduler tuning should (theoratically) be able to affect DPC latency, because they run at such a high super priority (irql == DISPATCH_LEVEL) compared to normal programs. So a bad driver can increase DPC latency for all other drivers, but running a bad word processor shouldn't, except by causing more activity in a bad driver (such as a bad graphics driver). Using obscure options to change the time between thread switching interrupts or change CPU frequency boost can also change DPC latency, as thread switching is one of the times when queued DPCs get run, and DPCs (like all code) runs at the CPU speed.
 
How do I disable Meltdown and Spectre in NTLite?

Mod note - Corrected spectre spelling. C.
 
Last edited by a moderator:
How do I disable Meltdown and Spectre in NTLite?
As far as i know you cant to it in NTLite(i may be wrong as im not up to date on NTLite) but it has been discussed here before, posts by garlin and fernando(i think its him) show how, you just add a reg file to Registry page.

Being a non gamer and not chasing frame rates i have not noticed a visible difference with them enabled and disabled.
I would only disable them on a specialised offline(not networked) machine. Better safe than sorry these days.
 
Last edited:
How do I disable Meltdown and Spectre in NTLite?
We have a thread (link) with the registry keys in it. I'd still like to manually confirm that it works on AMD processors though, because documentation is rarely perfectly accurate, and when I test stuff like this it tends to lead me down another rabbit hole. This tweak is big enough that it deserves due diligence, so I don't have any conclusions on it at the moment, but it should integrate into an image without issue, regardless of processor type.

I also have it on my to-do list to research why a forum out there is promoting the modification of a 3rd registry tweak that Microsoft does not mention in the support articles, which is the "FeatureSettings" key without the word "Override" in it. They promote a value of 3 when it defaults to 0 on a clean install of W10 21H2. People tend to do stuff like this to be sure something is disabled by adding extra tweaks that aren't necessary, but this one is from a credible person and I've discovered my own fair share of things that Google had no knowledge of, so I don't want to dismiss this one.
 
Last edited:
I'm not saying removing microcode stuff is a good or bad idea, since many things can be situational, but the concern I have with notions that get thrown around like this, is that almost nobody truly knows the ramifications of doing such a thing, unless you work in the industry or have direct experiences with it. Anything people hear on the internet about topics like this can usually be deduced to conjecture or bad testing.

It's the same line of thinking about why Garlin has to constantly tell people to stop uninstalling certain components, because the shotgun-mindset dominates the computer tweaking world, but it's actually an awful approach. It's only the inexperienced enthusiasts that try to rip out vital bits without attempting to garner an understanding of what's going on underneath, and is the reason why we have so much misinformation on other similar topics, because the masses don't understand the connection between BIOS/Processor/Windows on some of these complex features.
 
The answer depends on your BIOS release date. Anything after 2018 will have Meltdown & Spectre HW microcode fixes applied, you can't get rid of them unless you rollback to an older BIOS release. Good luck on that.

Depending on your Windows release (and updates), it will detect when there's older microcode and apply a set of dynamic hotfixes that exists while Windows is running. This resets every time Windows is booted up again, and it starts over.

You can disable the microcode hotfixes, by removing the newer microcode DLL's or using reg keys (when supported).

Before you start, run the PowerShell SpeculationControl command to find out what is even possible.
Anything marked "...mitigation is enabled: True" is something you can disable in Windows.
Code:
PS C:\Users\GARLIN> Get-SpeculationControlSettings
For more information about the output below, please refer to https://support.microsoft.com/help/4074629

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: False
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: False
Windows OS support for branch target injection mitigation is disabled by system policy: True
Windows OS support for branch target injection mitigation is disabled by absence of hardware support: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: True
Windows OS support for kernel VA shadow is enabled: False

Speculation control settings for CVE-2018-3639 [speculative store bypass]

Hardware is vulnerable to speculative store bypass: True
Hardware support for speculative store bypass disable is present: False
Windows OS support for speculative store bypass disable is present: True
Windows OS support for speculative store bypass disable is enabled system-wide: False

Speculation control settings for CVE-2018-3620 [L1 terminal fault]

Hardware is vulnerable to L1 terminal fault: True
Windows OS support for L1 terminal fault mitigation is present: True
Windows OS support for L1 terminal fault mitigation is enabled: False

Speculation control settings for MDS [microarchitectural data sampling]

Windows OS support for MDS mitigation is present: True
Hardware is vulnerable to MDS: True
Windows OS support for MDS mitigation is enabled: False

Speculation control settings for SBDR [shared buffers data read]

Windows OS support for SBDR mitigation is present: True
Hardware is vulnerable to SBDR: True
Windows OS support for SBDR mitigation is enabled: False

Speculation control settings for FBSDP [fill buffer stale data propagator]

Windows OS support for FBSDP mitigation is present: True
Hardware is vulnerable to FBSDP: True
Windows OS support for FBSDP mitigation is enabled: False

Speculation control settings for PSDP [primary stale data propagator]

Windows OS support for PSDP mitigation is present: True
Hardware is vulnerable to PSDP: True
Windows OS support for PSDP mitigation is enabled: False

Suggested actions

 * Install BIOS/firmware update provided by your device OEM that enables hardware support for the branch target injection mitigation.
 * Install the latest available updates for Windows with support for speculation control mitigations.
 * Follow the guidance for enabling Windows Client support for speculation control mitigations described in https://support.microsoft.com/help/4073119


BTIHardwarePresent                  : False
BTIWindowsSupportPresent            : True
BTIWindowsSupportEnabled            : False
BTIDisabledBySystemPolicy           : True
BTIDisabledByNoHardwareSupport      : True
BTIKernelRetpolineEnabled           : False
BTIKernelImportOptimizationEnabled  : False
RdclHardwareProtectedReported       : False
KVAShadowRequired                   : True
KVAShadowWindowsSupportPresent      : True
KVAShadowWindowsSupportEnabled      : False
KVAShadowPcidEnabled                : False
SSBDWindowsSupportPresent           : True
SSBDHardwareVulnerable              : True
SSBDHardwarePresent                 : False
SSBDWindowsSupportEnabledSystemWide : False
L1TFHardwareVulnerable              : True
L1TFWindowsSupportPresent           : True
L1TFWindowsSupportEnabled           : False
L1TFInvalidPteBit                   : 45
L1DFlushSupported                   : False
HvL1tfStatusAvailable               : False
HvL1tfProcessorNotAffected          : False
MDSWindowsSupportPresent            : True
MDSHardwareVulnerable               : True
MDSWindowsSupportEnabled            : False
FBClearWindowsSupportPresent        : True
SBDRSSDPHardwareVulnerable          : True
FBSDPHardwareVulnerable             : True
PSDPHardwareVulnerable              : True
FBClearWindowsSupportEnabled        : False

This KB article references the current (and growing) list of mitigation settings:
KB4072698: Windows Server and Azure Stack HCI guidance to protect against silicon-based microarchitectural and speculative execution side-channel vulnerabilities
 
The answer depends on your BIOS release date. Anything after 2018 will have Meltdown & Spectre HW microcode fixes applied, you can't get rid of them unless you rollback to an older BIOS release. Good luck on that.
I am FoL on a gigabyte h310 board, latest bios revision does not allow rollback to an earlier version and i suspect that is the case with most(?) motherboards now

On a new parts build of h310 pentium g5420 crucial nvme ssd ram on xmp profile w7 feels fast as hell without doing any tweaking on it yet let alone any performance orientated tweaks. There might be one tweak, a timer tool running to bring latency down to 0.5ms but thats it.
I very much doubt if i will see any noticable difference over what i have now. I am still on the fence about bcd tweaks but at least 51% on they dont make a difference.

Edit - no timer tool running.
 
Last edited:
Someone on ElevenForum recommended NVIDIA 537.58 drivers as more stable for DPC, and a modified power plan. I suspect the power plan restricts the GPU so it's not allowed to steal excessive overhead and you would switch between power plans, before using audio apps.
 
Someone on ElevenForum recommended NVIDIA 537.58 drivers as more stable for DPC, and a modified power plan. I suspect the power plan restricts the GPU so it's not allowed to steal excessive overhead and you would switch between power plans, before using audio apps.
I have had that driver for a long time. I believe the newest one that came out just about a week ago maybe showing good promise as well
 
Have seen a modded+signed .inf file for that driver version on Win7 so it can run on my GT710s, would be interesting to see how good it runs, but seeing as i cant be bothered fitting a new card to my test pc i'll have to do that later at some stage.
 
Last edited:
My quick two cents on the topic: Something Nvidia or Windows did a long time ago started causing persistent DPC issues with Nvidia drivers. I distinctly recall having a PC that would have an odd hitch when opening things on the desktop and completing other tasks. That hitch would disappear if I kept the GPU working with a low resource usage background application.

My guess was that the system was downclocked too much and needed a moment to speed up. The only evidence I have to support that was when "prefer max performance" was set because that forced clocks to be higher. It was not ideal as the PC was a laptop and battery life is a commodity on such a system.

But alas, I'm neither technical enough nor experienced enough to truly narrow down what has been going on with Nvidia's drivers. The 537.58 drivers that Garlin pointed out are fairly solid. I'm still on 512.?? myself because those were very stable and existed before the major bugs were introduced.
 
But alas, I'm neither technical enough nor experienced enough to truly narrow down what has been going on with Nvidia's drivers.
I disable cpu turbo and power saving modes in bios(desktop machine) so my cpus run at default base clocks.
Having previously messing around with my gt710s that despite using recommended settings my gpu clocks never ran at 1 single speed, i saw them slow down and ramp up and i reckon its this causing the latency.

What i have read elsewhere, "XP had a default latency of 1ms".
Windows 7 and 10 seem to have the same latency.

1 millisecond(ms - 1 thousandth of a second) equals 1000 microseconds(μs) so if my gt710s have a latency of 0.3xxx ms they are running faster than windows default latency. As long as your card is faster than the os default it shouldnt be a problem to anyone except gamers.

Foobar has a selectable latency with the lowest setting being 50ms, my Topping D10s usb audio interface has variable latencies going down to less than 5ms so even raising its latency to less than foobar at 50ms im not gonna get any audio drop outs.
 
I am particularly interested in optimizing Windows for DPC latency, since I often encounter dropouts, especially with very low latency audio interfaces.
Obviously I've been experimenting with options and settings for a while now and I have to say that the only thing that actually has an impact are the drivers. Bad drivers for some PC components, which can only be removed and not used. All other settings, in my experience and measurement with LatencyMon, have practically no effect.
So I would like to ask whoever opened the thread, are all those indications provided the result of common sense or have checks and measurements been carried out that demonstrate an effective reduction in DPC latency?
The question seems legitimate to me given the amount of tweaks that are suggested...
 
All these things can make a difference in DPC latency and are the result of many years of research, experimentation, and benchmarking from people like me and others in the competitive gaming communities, after spending countless hours trying to make Windows as close to a real-time operating system (link) as possible, even though it wasn't built for that.

While DPC is complex and causes a lot of confusion, its principles aren't that complicated if people step back and look at it from a simple tweaking perspective. Latency is just delays caused by traffic jams in a computer's data communication. It really doesn't matter if people understand the underlying details, because the main concept is that if you reduce the amount of traffic, then the fender bender incidents are reduced too.

To explain that analogy in relation to your question, latency tweaking is an objective science and should always be confirmed with benchmarking. However, some tweaks are so minor that they're undetectable, due to natural variances in tests, and in those cases we have to rely on "common sense" per se, and just understand that any amount of overhead a user can reduce will have a positive effect on latency, whether it is noticeable or not. We can still see some benchmarking results for minor tweaks though, when dozens of them are tested together.

I've edited the original post to add screenshots showing the differences tweaking can make. I didn't add these before, because I wanted to redo them in a neater fashion and make fancy side-by-side comparison pictures, but these work for now. The screenshots show the data points of a 66% difference in process latency spikes, 106% difference in DPC spikes, 20% difference in process average, and a 35% difference in DPC average.
 
Last edited:
Back
Top