4

I need help with something very Windows/kernel-specific.

I'm working on a fix for the high Kernel Timer Latency in Windows 10 2004 and higher. This problem was introduced between Insider Build 18950 and 18970.1001.

You can test this with a software called LatencyMon. Just make sure to go into the setting and switch to "kernel timer latency". If you are on Windows 10 2004 or higher, you will notice that your latency is constantly around 12000 microseconds. Before it used to be at around 1000 microseconds, sometimes even lower, sometimes a bit higher (depending on the system).

Many people are affected by this (gamers, music creators), as this is ruining Windows real-time performance. The problem is absolutely unrelated to any kind of different hardware or additional software than Windows itself, it also can't be fixed with timer resolution or bcdedit changes of all kind! Processes in user space are probably not directly affected by that (as the kernel doesn't run on all processes at once afaik). Only when a process needs real-time access to something through the kernel (Audio Hardware), this gets problematic.

Now the phenomenon I need help with:

Only if the software DPC Latency Checker is opened, the Kernel Timer Latency goes down to somewhat normal. When the software gets closed, the Kernel Timer Latency goes up to constantly 12000 microseconds again.

To further investigate this problem, I need to reverse engineer what DPC Latency Checker is doing, to make the Kernel Timer Latency go down. I tried finding something with x64dbg, Procmon and Process Explorer, but honestly, I never got into deep reverse engineering, especially kernel related stuff.

As this is easy, quick and freely reproducable in every modern Windows version (don't forget to switch to Kernel Timer Latency in LatencyMon settings ;D), maybe someone wants to help me to fix this problem once and for all.

1 Answer 1

1

this programm use ExSetTimerResolution https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-exsettimerresolution but only from driver. im make it but it unsigned. anyway we need to find C++ without driver timercall, because this method is very old and maybe not accurate

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.