MenuHPET on or off for gaming? What it actually does

Guides/Windows

HPET on or off for gaming? What it actually does

“Disable HPET for more FPS” is one of the oldest tweak tips. Some of it is right, some of it is a myth, and one version of it costs frames. Here's what the High Precision Event Timer is and what to do with it.

Quick answerLeave HPET in the BIOS alone, and make sure useplatformclock is not set in bcdedit: forcing HPET as the clock costs FPS. Disabling the HPET device in Device Manager changes little on most PCs; test it if you like.

What HPET is#

The High Precision Event Timer is a hardware timer on the motherboard. Windows has several clock sources; on modern PCs it uses the processor's own time stamp counter (TSC), which is much faster to read. HPET is still there as a fallback.

The setting that costs FPS: useplatformclock#

Old guides recommend bcdedit /set useplatformclock true. That forces Windows to use the platform clock (usually HPET) for every time measurement. Reading HPET is slow, and games read the time thousands of times per second, so this lowers the frame rate in many games. Check it in an administrator command prompt:

bcdedit /enum {current}

If useplatformclock appears in the list, remove it and restart:

bcdedit /deletevalue useplatformclock

The HPET device in Device Manager#

Under Device Manager → System devices, High precision event timer can be disabled. Since Windows doesn't use HPET as its clock by default, this rarely changes much. Some players measure slightly steadier frame times, others nothing. It's harmless to test and easy to undo (right-click → Enable device, then restart).

HPET in the BIOS#

Many BIOSes don't offer the option anymore. Where they do, leave it on: Windows expects the device to be there, and turning it off in the BIOS has caused problems with some software.

Questions#

Does disabling HPET increase FPS?
Removing useplatformclock from bcdedit does, if it was set. Disabling the HPET device in Device Manager changes little on most PCs.
How do I check if HPET is forced?
Run bcdedit /enum {current} as administrator. If useplatformclock is listed with Yes, HPET is forced as the clock.
Check it automatically

Frametide's HPET device switch under Tweaks changes the Device Manager setting and switches it back with one click; useplatformclock isn't something it sets. Frametide measures FPS, 1% and 0.1% lows and stutters per minute in your own game with PresentMon, before and after a change, so you don't have to guess (Premium).

Get Frametide →