If you face FPS drops and stuttering, you can try changing the HPET settings to increase the performance of your PC and get smoother gameplay.
HPET stands for High Precision Event Timer (formerly Multimedia Timer) and has been used in PCs for a long time. It is used to produce periodic interrupts, which can be used to synchronize multimedia streams, in turn, providing smoother playback. It also reduces the need for other timestamp calculations. Performance of PC can also be increase by enabling Win32 Priority Separation which you can read here.
Brief History Of HPET
Many gamers have pointed out on forums that the HPET bug is causing problems in the gaming performance in certain situations.
The reason for this is pretty simple. Earlier when CPUs had less clock speed and games did not use multithreading in an efficient way, the usage of HPET to retrieve incremental timestamp counter took away precious calculation power of the CPUs and significantly hurt gaming performance.
- But now that the games are efficiently using multithreading and the bottleneck of the 3D performance has shifted to the GPU, and the impact of the event timers reduced. However, game developers started using a lot of timestamp queries to measure performance for animations and movements.
How HPET Affects Gameplay?
The problem has arisen because of a very slow timer interpretation of the HPET on today’s high-performance rigs. The impact of slow HPET depends on actual usage of the timer functions in the game engine and the hardware used.
You can notice the HPET bug causing stutters in gameplay if you run a not graphics heavy game on an overpowered GPU.
Disabling HPET removes the micro-stuttering and screen tearing that may occur during gameplay. It allows unrestricted input-output to occur. This results in a very raw and extremely responsive connection between you and your PC.
- You can sense around 0.1 to 0.15ms delay with HPET on while turning it off can gain you around 3-4 FPS. This may not seem much for day to day use. But with gaming, imagine the FPS drop for every action piling up; this leads to micro-stuttering that is observed during gameplay.
How To Disable HPET?
If you suffer the same issue of HPET causing game lags, here I’ll show you 2 methods to disable HPET.
# Method 1 (Using Device Manager)
You can use the device manager to disable the High Precision Event Timer. I’ll show you how to use device manager settings to disable HPET.
- From search, type Device Manager and press Enter to open settings.
- Locate System devices.
- Right click on High Precision Event Timer and select Disable to stop the HPET service.
Now you know how you can use this simple method to disable HPET using Device manager settings.
I will now show you another method to disable the HPET.
# Method 2 (Using Cmd)
You can also use the cmd to stop the HPET and reduce gameplay stuttering. Follow the steps to disable HPET using cmd
- From Search, enter cmd and select Open as administrator.
- Type the following commands to disable HPET
bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes
- Restart the PC for the changes to take place.
- Note: In Windows 10, you must use cmd as an admin to make changes to the HPET.
To restore the HPET settings back to on, follow these steps
- Open cmd as Administrator using the steps given above.
- Type the following commands to re-enable HPET
bcdedit /set useplatformclock true
bcdedit /set disabledynamictick no
- Note: disabledynamictick works only on Windows 8.1, 10 or newer.
If you are unsure about the HPET affecting your gameplay, I suggest you run benchmarks on your own system instead of believing others. There is a variety of tools available online that can help you with that, e.g. TimerBench. Use these timer benchmarks to measure if turning off the High Precision Event Timer can affect the timer performance.
So there you have it. Now you know how to disable HPET and improve the system gaming performance. Did you find the methods useful? Comment down below if you found the HPET affecting timer performance.