QueryPerformanceFrequency returns 10mhz on Windows 10 Build 1809+, causing performance loss/increased jitter/latency

It appear something has happended to the timer subsystem resolution on Windows 10 starting from Build 1809. 

QueryPerformanceFrequency() returns 10mhz (10ms) which is causing the GUI et al to have latency. DPC latency is also elevated post 1809 installation. This happens on multiple, different motherboards (AMD, Intel) as well as various configurations.

Video editing software is no longer able to render things as quickly as it used to, on post 1809. 

The hilarious part is, my Mac Mini with less ram, CPU and video card power is able to perform the rendering faster than Windows 10 (1809). It can also boot up faster than anything Windows 10 servers. 

Some issues with 1809:

- Logging into windows takes 8-12 seconds before I get into the desktop. This is on a m.2 SSD, with a threadripper 1950x / 128G of memory. (1809)

- Removing 1809 allowed it to boot into the desktop around ~2 seconds. (Tested on 4 different machines, AMD, intel, etc) 

- 1809+ has caused additional lag when clicking, launching and performing any kind of tasks. 

Notes:

- Removing 1809 causes QueryPerformanceFrequency() to return ~3mhz, which is the TSC. Performance returns to it's snappy self.

- Forcing the use of the slow, awful, HPET makes things better, for a time, until multiple one-shot timers are running and then the boxes crawl to a halt. 

What timer subsystem returns 10mhz? The TSC doesn't, PIT doesn't, APIC doesn't, ACPI doesn't, HPET may do it with a divisor.  

TBH, If this doesn't get solved soon, I'll just move the rest of my stuff over to Apple Products and never used Microsoft products for enterprise again.

 

Discussion Info


Last updated August 3, 2020 Views 5,148 Applies to: