Hpet timers and latency testing methods

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
Post Reply
Sebichek45
Posts: 62
Joined: 01 Dec 2022, 08:06

Hpet timers and latency testing methods

Post by Sebichek45 » 22 Dec 2022, 05:19

Hello, everyone. I know hpet discussion has been going around for a long time but I am still confused to what I should do about it. Please correct me if I’m wrong and also do provide some suggestions.

1. HPET
- basically its consistent but it is slow. Not quite good for fps games.
- “should” be disabled thru cmd (deletevalue platformclock) and left default in bios.
- if disabled in device manager can lead to desync and false fps counters (not sure but I’ve read this somewhere)
- should it be disabled/enabled in device manager? Is it system dependent? How should I test it?

BCDEDIT
- I know most people would say to just leave it alone and its just snake oil. I agree. However, I also want to test it for my system if it could make even a miniscule difference for me.
- Is melodytweaks a “reliable” site for tweaks? Especially the post about the “misconception of timers”
- how can I test it? Through LatencyMon? Leaving it open while running a game?

DISABLEDDYNAMICTICK
- should it be on or off?
- all I know is that its a power-saving feature that hurts desktops but should be left default for laptops.

USEPLATFORMTICK
- disable so that the timer should be a flat number. Can help.
- Is it system dependent also?

Currently what my bcdedit looks like is:
tscsyncpolicy legacy (for better input?)
disabledynamictick yes (idk somewhere I read that it “smoothens” the mouse and is somewhat bad for consistency but I just left it at “yes”because its a power-saving feature)

shebu
Posts: 11
Joined: 04 Jun 2021, 02:00

Re: Hpet timers and latency testing methods

Post by shebu » 22 Dec 2022, 12:06

you had to wait 10 days and that would be first post about hpet in 2023 :D

kokkatc
Posts: 108
Joined: 23 Mar 2017, 13:49

Re: Hpet timers and latency testing methods

Post by kokkatc » 22 Dec 2022, 15:58

Sebichek45 wrote:
22 Dec 2022, 05:19
Hello, everyone. I know hpet discussion has been going around for a long time but I am still confused to what I should do about it. Please correct me if I’m wrong and also do provide some suggestions.

1. HPET
- basically its consistent but it is slow. Not quite good for fps games.
- “should” be disabled thru cmd (deletevalue platformclock) and left default in bios.
- if disabled in device manager can lead to desync and false fps counters (not sure but I’ve read this somewhere)
- should it be disabled/enabled in device manager? Is it system dependent? How should I test it?

BCDEDIT
- I know most people would say to just leave it alone and its just snake oil. I agree. However, I also want to test it for my system if it could make even a miniscule difference for me.
- Is melodytweaks a “reliable” site for tweaks? Especially the post about the “misconception of timers”
- how can I test it? Through LatencyMon? Leaving it open while running a game?

DISABLEDDYNAMICTICK
- should it be on or off?
- all I know is that its a power-saving feature that hurts desktops but should be left default for laptops.

USEPLATFORMTICK
- disable so that the timer should be a flat number. Can help.
- Is it system dependent also?

Currently what my bcdedit looks like is:
tscsyncpolicy legacy (for better input?)
disabledynamictick yes (idk somewhere I read that it “smoothens” the mouse and is somewhat bad for consistency but I just left it at “yes”because its a power-saving feature)
1) HPET - This has always been a tricky subject over the years because behavior can vary depending on your motherboard's chipset, CPU and even the Windows version you're on. What worked best also varied and often changed from windows ver to windows ver. It wasn't until Windows 10 1809 that Microsoft changed the <QueryPerformanceFrequency> to a hard coded/locked 10MHz. In the past you could determine which timer was being used by looking at what your <QueryPerformanceFrequency> is. For example, TSC timer would show something like 3.5MHzish, HPET would show 14.5MHzish... etc.. I forget the exact frequencies, but TSC has always been considered the best timer to use in most setups for gaming. I know a lot of people over the years claim that HPET worked the best for them, but I'm suspicious of their declarations. HPET is a slow timer. If you force HPET on most games, it may become smoother, but will most likely result in more input lag and weird stuff happening... Getting shot 5 feet around corners, stuff like that. The current recommendation with HPET is to leave it ENABLED in the bios, and DISABLED in the OS. The OS will likely already have HPET disabled by default. In fact, many motherboard manufacturers are choosing to omit HPET from their BIOS altogether. Just to double check, open up an elevated command prompt and enter: <bcdedit /deletevalue useplatformclock>. This will disable HPET in the OS. In my experience, disabling HPET in the device manager does absolutely nothing. I could be wrong here but I've tested this quite a bit and never noticed any discernible difference at all whatsoever, whether it be in game, using a performance analyzing toolkit, latency monitor, etc.

Disabledynamictick - You just need to test ON vs OFF for yourself. Personally I think disabling this adds some kind of game lag for some odd reason. Weird stuff happens in game when I disable this. It will also add acceleration to your mouse, so your mouse sens will feel faster. Test both, choose the one that feels better for you. Also, I see no discernible difference in system latency w/ latency monitor whether it's enabled/disabled.
Useplatformtick - Changing this to YES basically disables synthetic timers. It is my belief that even though mouse precision may improve, input lag increases w/ a setting of YES. Everything feels slower and I always feel slightly behind, even though mouse precision feels slightly better. In regards to timer resolution, one day someone arbitrarily decided that the timer resolution MUST be an even number of 1ms or .5ms. There are absolutely no studies/tests/etc that confirm this number must be even and why. Timer resolution determines how often your system is firing interrupts which is important for latency. Most games these days default to 1ms automatically. You can use a timer resolution app to drop it to .5ms so it's firing 2x the amount of interrupts vs 1ms. I used to always use .5ms for a good while but I ultimately learned that changing to .5ms was one of the culprits for weird slowdowns/speedups/stutter in game, so now I only use 1ms. This could vary depending on the game. Some games will react just fine w/ .5ms, others won't. For the games I play, .5ms is kind of a nightmare. Also, depending on which windows version you're on, the timer resolution value will often change. You don't need to make this an even number. Disabling synthetic timers adds lag. It wasn't until Windows 11 where Microsoft changed the timer resolution so now the timer resolution is even without the use of any additional tweaks.

In regards to melody's tweaks, I don't think the mass majority of her tweaks are necessary. I do like her tweaks for disabling security mitigations, memory compression, etc. In a lot of cases, I think using ALL of her tweaks would ultimately cause more harm than good, especially her nvidia inspector tweaks. You just end up w/ ultimately lower latency but shitty frametimes and hard stutters which is worse than SLIGHTLY higher latency w/consistent frametimes.
Last edited by kokkatc on 22 Dec 2022, 17:04, edited 1 time in total.

Straszy
Posts: 8
Joined: 27 Oct 2020, 14:59

Re: Hpet timers and latency testing methods

Post by Straszy » 22 Dec 2022, 16:38

Sebichek45 wrote:
22 Dec 2022, 05:19

1. HPET
- basically its consistent but it is slow. Not quite good for fps games.
- “should” be disabled thru cmd (deletevalue platformclock) and left default in bios.
- if disabled in device manager can lead to desync and false fps counters (not sure but I’ve read this somewhere)
Almost 2023 and people still think deletevalue platformclock is disabling hpet...

Sebichek45
Posts: 62
Joined: 01 Dec 2022, 08:06

Re: Hpet timers and latency testing methods

Post by Sebichek45 » 22 Dec 2022, 19:29

Straszy wrote:
22 Dec 2022, 16:38
Sebichek45 wrote:
22 Dec 2022, 05:19

1. HPET
- basically its consistent but it is slow. Not quite good for fps games.
- “should” be disabled thru cmd (deletevalue platformclock) and left default in bios.
- if disabled in device manager can lead to desync and false fps counters (not sure but I’ve read this somewhere)
Almost 2023 and people still think deletevalue platformclock is disabling hpet...
Is it not? How would you disable it then?

Sebichek45
Posts: 62
Joined: 01 Dec 2022, 08:06

Re: Hpet timers and latency testing methods

Post by Sebichek45 » 22 Dec 2022, 19:44

kokkatc wrote:
22 Dec 2022, 15:58
Sebichek45 wrote:
22 Dec 2022, 05:19
Hello, everyone. I know hpet discussion has been going around for a long time but I am still confused to what I should do about it. Please correct me if I’m wrong and also do provide some suggestions.

1. HPET
- basically its consistent but it is slow. Not quite good for fps games.
- “should” be disabled thru cmd (deletevalue platformclock) and left default in bios.
- if disabled in device manager can lead to desync and false fps counters (not sure but I’ve read this somewhere)
- should it be disabled/enabled in device manager? Is it system dependent? How should I test it?

BCDEDIT
- I know most people would say to just leave it alone and its just snake oil. I agree. However, I also want to test it for my system if it could make even a miniscule difference for me.
- Is melodytweaks a “reliable” site for tweaks? Especially the post about the “misconception of timers”
- how can I test it? Through LatencyMon? Leaving it open while running a game?

DISABLEDDYNAMICTICK
- should it be on or off?
- all I know is that its a power-saving feature that hurts desktops but should be left default for laptops.

USEPLATFORMTICK
- disable so that the timer should be a flat number. Can help.
- Is it system dependent also?

Currently what my bcdedit looks like is:
tscsyncpolicy legacy (for better input?)
disabledynamictick yes (idk somewhere I read that it “smoothens” the mouse and is somewhat bad for consistency but I just left it at “yes”because its a power-saving feature)
1) HPET - This has always been a tricky subject over the years because behavior can vary depending on your motherboard's chipset, CPU and even the Windows version you're on. What worked best also varied and often changed from windows ver to windows ver. It wasn't until Windows 10 1809 that Microsoft changed the <QueryPerformanceFrequency> to a hard coded/locked 10MHz. In the past you could determine which timer was being used by looking at what your <QueryPerformanceFrequency> is. For example, TSC timer would show something like 3.5MHzish, HPET would show 14.5MHzish... etc.. I forget the exact frequencies, but TSC has always been considered the best timer to use in most setups for gaming. I know a lot of people over the years claim that HPET worked the best for them, but I'm suspicious of their declarations. HPET is a slow timer. If you force HPET on most games, it may become smoother, but will most likely result in more input lag and weird stuff happening... Getting shot 5 feet around corners, stuff like that. The current recommendation with HPET is to leave it ENABLED in the bios, and DISABLED in the OS. The OS will likely already have HPET disabled by default. In fact, many motherboard manufacturers are choosing to omit HPET from their BIOS altogether. Just to double check, open up an elevated command prompt and enter: <bcdedit /deletevalue useplatformclock>. This will disable HPET in the OS. In my experience, disabling HPET in the device manager does absolutely nothing. I could be wrong here but I've tested this quite a bit and never noticed any discernible difference at all whatsoever, whether it be in game, using a performance analyzing toolkit, latency monitor, etc.

Disabledynamictick - You just need to test ON vs OFF for yourself. Personally I think disabling this adds some kind of game lag for some odd reason. Weird stuff happens in game when I disable this. It will also add acceleration to your mouse, so your mouse sens will feel faster. Test both, choose the one that feels better for you. Also, I see no discernible difference in system latency w/ latency monitor whether it's enabled/disabled.
Useplatformtick - Changing this to YES basically disables synthetic timers. It is my belief that even though mouse precision may improve, input lag increases w/ a setting of YES. Everything feels slower and I always feel slightly behind, even though mouse precision feels slightly better. In regards to timer resolution, one day someone arbitrarily decided that the timer resolution MUST be an even number of 1ms or .5ms. There are absolutely no studies/tests/etc that confirm this number must be even and why. Timer resolution determines how often your system is firing interrupts which is important for latency. Most games these days default to 1ms automatically. You can use a timer resolution app to drop it to .5ms so it's firing 2x the amount of interrupts vs 1ms. I used to always use .5ms for a good while but I ultimately learned that changing to .5ms was one of the culprits for weird slowdowns/speedups/stutter in game, so now I only use 1ms. This could vary depending on the game. Some games will react just fine w/ .5ms, others won't. For the games I play, .5ms is kind of a nightmare. Also, depending on which windows version you're on, the timer resolution value will often change. You don't need to make this an even number. Disabling synthetic timers adds lag. It wasn't until Windows 11 where Microsoft changed the timer resolution so now the timer resolution is even without the use of any additional tweaks.

In regards to melody's tweaks, I don't think the mass majority of her tweaks are necessary. I do like her tweaks for disabling security mitigations, memory compression, etc. In a lot of cases, I think using ALL of her tweaks would ultimately cause more harm than good, especially her nvidia inspector tweaks. You just end up w/ ultimately lower latency but shitty frametimes and hard stutters which is worse than SLIGHTLY higher latency w/consistent frametimes.
Thanks. So basically:
- the device manager hpet does absolutely nothing if I already disabled it thru cmd?
- disabledynamictick DOES add acceleration and may also add input lag if set to yes.
- useplatformtick isn’t needed anymore in win11 and it could cause more harm in some games in win10.

Also how do I check if I have stable/fast timers? Do I use wintimertester or cpuz timer tool? What should I look at for testing if I have lag or not because of the bcdedit/timer settings that I have?

Does tscsyncpolicy settings really matter? Have you also tried this out?

How do I check if the tweaks I got from melody are actually having an effect? All I did was the kernel memory one for dxg, force contiguous memory in os using bcdedit, and set disablepagingfile to 1.

Currently, I feel like my setup (28 hex priority control, hpet off in device manager and cmd, tsc legacy, and disabledynamic yes) makes my input crisp but I have some stutters whenever I play dm in valorant.

Sebichek45
Posts: 62
Joined: 01 Dec 2022, 08:06

Re: Hpet timers and latency testing methods

Post by Sebichek45 » 22 Dec 2022, 19:45

shebu wrote:
22 Dec 2022, 12:06
you had to wait 10 days and that would be first post about hpet in 2023 :D
I want to give to someone else :lol:

kokkatc
Posts: 108
Joined: 23 Mar 2017, 13:49

Re: Hpet timers and latency testing methods

Post by kokkatc » 22 Dec 2022, 22:28

Sebichek45 wrote:
22 Dec 2022, 19:44

Thanks. So basically:
- the device manager hpet does absolutely nothing if I already disabled it thru cmd?
- disabledynamictick DOES add acceleration and may also add input lag if set to yes.
- useplatformtick isn’t needed anymore in win11 and it could cause more harm in some games in win10.

Also how do I check if I have stable/fast timers? Do I use wintimertester or cpuz timer tool? What should I look at for testing if I have lag or not because of the bcdedit/timer settings that I have?

Does tscsyncpolicy settings really matter? Have you also tried this out?

How do I check if the tweaks I got from melody are actually having an effect? All I did was the kernel memory one for dxg, force contiguous memory in os using bcdedit, and set disablepagingfile to 1.

Currently, I feel like my setup (28 hex priority control, hpet off in device manager and cmd, tsc legacy, and disabledynamic yes) makes my input crisp but I have some stutters whenever I play dm in valorant.
In my experience, disabling high precision event timer in the device manager does nothing at all, whether HPET is enabled/disabled via BCDEDIT. It merely serves as a visual to indicate HPET is enabled in the BIOS. Disabling the HPET device via device manager in the OS does nothing.

Disabling dynamic tick in either Windows 10 or Windows 11 will change mouse feel (acceleration) and could disrupt frametimes, hence the potential lag it can cause. Some people love it, others things it can cause more harm than good, myself included. Whenever I disable dynamic ticks in windows, there's a noticeable click delay in the games I play.

Useplatformtick YES (disabling synthetic timers) has always added input lag for me in games. Mouse feel will feel more 1:1, but everything is slightly behind in game. Getting shot around corners, taking damage without seeing it, etc etc. Best way I can put it is the games become desynced to a small degree. Some people like the mouse feel that comes with synthetic timers disabled, just have to try for yourself. This can also vary from game to game depending on the engine.

Determining whether these 'tweaks' are actually doing you any good is the same problem most people have. It's very difficult to come up w/ definitive proof suggesting one way or the other is better. You can use latency monitor and measure your overall system latency per tweak, but this is a rabbit hole I wouldn't suggest anyone go down for a number of reasons. Achieving the lowest DPC latency at all costs does not always equal the best or ideal game performance. Latency monitor is a great tool for determining whether your system is experiencing latency or driver related issues. It shouldn't be used as the full measure of whether your games will run perfectly well at the lowest latency. There's more to the puzzle than just that. You can absolutely cripple game performance tweaking CPU power settings like processor performance threshold, latency sensitivity settings, etc. Who cares if your latency is low if the game is stuttering like mad and frametimes all over the place. There's a balance that needs to be found. W/ that said, I doubt you'll be able to notice anything at all after any given 'Melody Tweak.' It may help overall performance but you probably won't notice anything in game.

The best thing you can do is make sure you're running at least a high performance power plan, properly functioning drivers are installed (Verify with latency monitor), change all devices except for audio to MSI mode. Uninstall all bloat, disable useless and resource hogging services, etc. Some find a nice input latency reduction setting timer resolution to .5ms, but not all games will behave nicely with this. You can go further by jumping in your BIOS and disabling all power saving features in the bios such as ASPM, speedstep, speedshift (intel), c-states, etc. IF on AMD, disable cool and quiet (Also known as PSS), c-states, etc. But even on modern CPUS, disabling these aren't completely necessary anymore. The latency savings are far less than what it used to be.

Post Reply