[SOLVED] Is it safe to disable Dynamic Tick and HPET?

iguanachu

Reputable
Dec 21, 2020
6
0
4,510
Hi! I have a Dell 7567 with an I7-7700hq and a Gtx 1050ti, works fine but I've been experiencing some micro-stutters since a time ago ONLY in Win10, not Linux. So after trying different things decided to reinstall and now it works quite better, on normal tasks I have no more micro-stutter but while gaming, after a while, I do have some drop of FPS, now and then. They are not quite the micro-stutters 'cause there are no ugly sound effects like happens on those, but look like simple drops of frames.
At first I could only relate them with some Events on the Event viewer, like Special Logon and Logon, and googling about it I found that that there are lot of people with the same issue and relate it to HPET and Dynamic Tick, I disable HPET on the device manager because via CMD it says there is no such a thing which means that is actually disable, but I real that having it disable on the bios and able on the Device Manager might lead to some unoptimized performance, anyways it don't seem to do anything with the drops.
The next is trying disabling Dynamic Tick but I don't know what does this affects, is this just a "power saving" kind of thing, is it recommended to turn it off on laptops?
I'm a little bit curious about it. Thanks.
Or if you have OTHER advice related to the frame drops, I thank you too. =D
 
Solution
I'm just going to steal from this reddit post:

Windows has three different types of clocks available for keeping track of time. One of them is the TSC register on your CPU, which is ridiculously fast to access. Another is the high precision event timer (HPET), which sits on your motherboard. There's a bunch of reasons why that are probably too deep into system architecture for an ELI5, but the tl;dr is that the HPET is more reliable, but slower to access.

Newer versions of Windows automatically determine if the TSC is reliable enough to use as the system clock, or if it should revert to the HPET. The useplatformclock setting will force Windows to use the HPET no matter what. This is why disabling useplatformclock provides...
I'm just going to steal from this reddit post:

Windows has three different types of clocks available for keeping track of time. One of them is the TSC register on your CPU, which is ridiculously fast to access. Another is the high precision event timer (HPET), which sits on your motherboard. There's a bunch of reasons why that are probably too deep into system architecture for an ELI5, but the tl;dr is that the HPET is more reliable, but slower to access.

Newer versions of Windows automatically determine if the TSC is reliable enough to use as the system clock, or if it should revert to the HPET. The useplatformclock setting will force Windows to use the HPET no matter what. This is why disabling useplatformclock provides lower latency in some applications.

In general Windows should be able to figure out which clock to use on its own, so disabling useplatformclock is recommended.

There used to be a hilarious issue where people who were messing with their base clock without forcing HPET would get all sorts of timing-related weirdness in some games. Playing games in fast-forward, audio getting out of sync with the graphics, or chipmunk audio. I don't know if this is still the case though.

As for Dynamic Tick, it disables system timers to save power if nothing is going on.
 
Solution