Testing Micro-Adjusting the Timer Resolution for Higher Precision

The topic of timer resolutions is quite popular in the PC gaming scene since this is one quick change that can improve the way your game and inputs feel. Upon further investigation, however, it becomes clear that the topic of system clocks and ticks is quite complex and has quite a few options you need to explore.

Amit is quite well known in the PC tuning scene and as he describes it, he found another unique interaction of the timer resolution by pure coincidence.

Amit’s Findings

Amit goes on to describe how he accidentally used a random value for the maximum supported timer resolution (0.5ms) and stumbled upon an interesting find. What he noticed then is that he could increase the precision of the timer by using a higher resolution than the standard 0.500ms getting a closer value to 1ms when it comes to sleep delays.

amit resolutions

Source

I was curious about the results since he did mention that this change did help most of the people included in his testing and although quite late to the party, I wanted to see for myself if I can improve the precision of the timer by using a different value than the standard 0.5ms.

Testing

To conduct the test I downloaded the MeasureSleep utility from Amit’s GitHub and proceeded to tweak the value of my timer resolution. On my system, I am using a TSC clock with a TSC tick, and for the timer utility, I am using Memory Cleaner.

chris resolutions

In my testing, I checked the initial 0.5ms values then tested Amit’s 0.507ms, and then kept going lower until I found spikes in ms and variances in the delta. This way I have confirmed that an adjusted value does provide higher precision compared to the default 0.5ms and have adjusted the value to what I have found to be the best for my settings and setup (PC hardware, Windows installation, settings, etc).

The value that worked for me might be different for your build therefore I suggest going through the same steps of testing the default 1ms, 0.5ms, and the tweaked 0.507 from Amit. Once you have noted the values for those 3, you can start making your adjustments to the timer resolution until you hit a stable value that is the closest to 1ms and has no random spikes or variances.

I tested the new timer resolution value while idling, while gaming, and while benchmarking with a high load just to make sure that the value is stable no matter what.

Once I confirmed that everything is working as intended under different loads I kept the value with the highest precision for my system.

TL;DR

As Amit noted, using a tuned value for your timer resolution utility improves precision so instead of using a default value of 0.5ms you should test different possible values and stick to the one that is the closest to 1ms.

About The Author

Chris (vile_is_dead)

Custom Windows ISO enjoyer, FPS optimizer, and aim improvement enthusiast. Will disassemble all of his peripherals (and sometimes PC parts) to mod them even if all of them work perfectly fine. Discord/Twitter: vile_is_dead

Subscribe
Notify of
guest
8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jack
Jack
8 months ago

This is a very unique post, as I’m on windows 10 22h2 and I saw that i get Sleep and delta to match 15ms, while the timer resolution keeps under 1ms being forced by steam, so I guess windows 10 versions above 1809 are the problem?
btw what windows OS where you using on this test?
Right now i’m moving to windows 111 22h2 just to see if I get better delta/sleep

resolution.png
Reinier
Reinier
6 months ago

Hi Chris, I have the same problem as Jack. I have an AMD system, did you test also on AMD systems or only Intel? Might this problem be an effect of AMD?

Alex
Alex
7 months ago
Reply to  Jack

My guess is that you have AMD. Right?

Roman Momita
Roman Momita
7 months ago
Reply to  Jack

“Thanks to a comment on the Great Rule Change article, on Windows Server 2022+ and Windows 11+, the registry key below can also be used so that requesting a higher resolution is effective on a system-wide level rather than only the calling process.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"GlobalTimerResolutionRequests"=dword:00000001"
SKArm
SKArm
8 months ago

Hey man I have been playing withel these for 4 years now and have found amazing results and I do competetive gaming. I just need some professional guidance to optimize it to the best.i do have dual boot win 10 and 11.. but now 11 feels better its the latest.. can you help me I will be more the happy to compensate for your time 🙂 it will mean the world..

BTW I also sent you a friend request on discord few says ago it ShantKArmenian#5215

Jack
Jack
8 months ago

I tried windows 11 22h2 but at this point I surrender, even changing in BIOS hpet either Enable or Disabled, and doing the bcdedit settings, I still getting delta and sleept 15 ms :/