Jump to content

Common Stutter / Lag / Crash Fix (HPET Guide)

Valkyrie Lenneth

hi, ive noticed that many ppl on the forums have issues with stutter , mouse lag , problems with high cpu usage,, windows timing issues and what not

 

now in many topics the solution has actually been to adjust HPET

 

so what is HPET?

 

==========================================================================================================================================================

 

The High Precision Event Timer (HPET) is a hardware timer used in personal computers. It was developed jointly by Intel and Microsoft and has been incorporated in PC chipsets since circa 2005. Formerly referred to by Intel as a Multimedia Timer,[1] the term HPET was selected to avoid confusion with the multimedia timers as a software feature introduced in the MultiMedia Extensions to Windows 3.0.[2]

Older operating systems that do not support a hardware HPET device can only use older timing facilities, such as the programmable interval timer (PIT) or the real-time clock (RTC). Windows XP, when fitted with the latest hardware abstraction layer (HAL), can also use the processor's Time Stamp Counter (TSC) or Power Management Timer (PMTIMER), together with the RTC to provide operating system features that would, in later Windows versions, be provided by the HPET hardware. Confusingly, such Windows XP systems quote "HPET" connectivity in the device driver manager even though the Intel HPET device is not being used.

 

how can HPET affect the system?

 

Windows uses different timers in the cpu, The HPET can produce periodic interrupts at a much higher resolution than the RTC and is often used to synchronize multimedia streams, providing smooth playback and reducing the need to use other timestamp calculations such as an X86-based CPU's RDTSC instruction.

 

Additional information

 

HPET settings can be the reason of microstutter,  stutter , high cpu loads , windows clock issues and many more , and enabling the setting or disabling it can have different effects per system

 

==========================================================================================================================================================

 

Since every system is different , some systems ( mobos ) dont support HPET , some have a very good cpu and some dont

 

in general,   if u have a rly good cpu it can reward to TURN OFF HPET ,  by default HPET is enabled in almost every motherboard that supports it, however it is disabled in windows by default(because not every system supports it) thus causing an emulation ( which is bad and can cause issues )

 

to check if u have HPET enabled or disabled in windows ,   RUN CMD AS ADMINISTRATOR

 

bcdedit /enum

 

and u will see a list, in the list u should see          useplatformclock        Yes    or No

 

if it is set to NO it means its disabled in windows and if its YES its enabled in windows   , if useplatformclock is not shown up in the list at all, it probably means ur motherboard doesnt have it ( THUS SHOULD BE DISABLED IN WINDOWS )

 

the 2 best settings u can have with hpet are either

 

HPET ENABLED IN BIOS + HPET ENABLED IN WINDOWS

 

HPET DISABLED IN BIOS + HPET DISABLED IN WINDOWS

 

IT IS BAD TO HAVE HPET ENABLED IN BIOS + DISABLED IN WINDOWS

 

OR DISABLED IN BIOS + ENABLED IN WINDOWS BECAUSE IT CAUSES SOFTWARE EMULATION / TIMING

 

since every system is different either enabling it or disabling it might cause benefits

 

its known for systems wiht extremely good cpu's  that it can give an extra 10-15fps and removing microstutter / less stutter  by DISABLING HPET in the bios + WINDOWS

 

its also known for systems that it can do the exact same by ENABLING IT ( usually on systems that have cpu intensive games but having a weaker cpu... example playing bf1 with a i5, however even in this case disabling it can also improve it.. test it for your system )

 

  • To disable HPET in Windows run the command... bcdedit /deletevalue useplatformclock    ( ALSO DISABLE IT IN THE MOTHERBOARD / BIOS TO AVOID SOFTWARE EMULATION )  

  • if bcdedit /deletevalue useplatformclock doesnt disable it ,   try bcdedit /set useplatformclock false  , verify with bcdedit /enum 

  • To enable HPET as the only timer run the command... bcdedit /set useplatformclock true   ( ALSO ENABLE IT IN THE MOTHERBOARD / BIOS TO AVOID SOFTWARE EMULATION )

  • A REBOOT IS REQUIRED FOR THESE SETTINGS TO TAKE EFFECT IN WINDOWS , ALSO THE COMMANDS HAS TO BE DONE IN CMD ADMINISTRATOR

  • REMEMBER HPET IS A COMMON FIX FOR IT, IF THE STUTTER/MICROSTUTTER IS CAUSED BY ANOTHER ISSUE HPET MIGHT NOT SOLVE IT, BUT U SHOULD FEEL A DIFFERENCE WITH DISABLING/ENABLING HPET

  • CHANGING HPET SETTINGS CAN ALSO FIX ISSUES SUCH AS A GAME CRASHING AT STARTUP AND SUCH

  • even if the system is stable, adjusting hpet settings can still be a nice improvement / tweak for any system

  • i hope u guys find the right setting for ur system and get that extra smoothness / fps   or fix that microstutter / stutter :)

 

(◑‿◐)

Link to comment
Share on other sites

Link to post
Share on other sites

I hate being that guy but this triggers my OCD to unbelievable levels with that grammar and formatting.

It's solid stuff (I suppose, I never cared for this anyway), but you simply must fix this properly, because at the moment it feels like it was copied from a shady chat conversation.

 

Good luck.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, NMS said:

I hate being that guy but this triggers my OCD to unbelievable levels with that grammar and formatting.

It's solid stuff (I suppose, I never cared for this anyway), but you simply must fix this properly, because at the moment it feels like it was copied from a shady chat conversation.

 

Good luck.

already trying to find a mod to edit it for me :P im bad at posting and no it isnt from a chat conversation

(◑‿◐)

Link to comment
Share on other sites

Link to post
Share on other sites

I was having mouse stutters in PUBG, disabling HPET in both windows and bios solved my problem ^^

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Nerzocks said:

I was having mouse stutters in PUBG, disabling HPET in both windows and bios solved my problem ^^

damn i got to try this 

Link to comment
Share on other sites

Link to post
Share on other sites

bcdedit /enum returned the following -

C:\WINDOWS\system32>bcdedit /enum

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {60da84d2-d535-11e7-8211-9d39914b0f47}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 0

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {0f3649e6-d536-11e7-8266-802a454bb7a2}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {60da84d2-d535-11e7-8211-9d39914b0f47}
nx                      OptIn
bootmenupolicy          Standard

 

No useplatformclock anywhere.  What am I missing here?

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, TheGlenlivet said:

bcdedit /enum returned the following -

C:\WINDOWS\system32>bcdedit /enum

 

No useplatformclock anywhere.  What am I missing here?

it mostlikely means that ur motherboard doesnt support useplatformclock , make sure to browse in ur bios to see if u have a hpet setting ( hpet must be supported by the motherboard, not every mobo has that chip )

 

u can also try by using the enabling/disabling command + reboot, try bcdedit /enum again, if it doesnt show up again even after that then its most likely guaranteed to not be on ur motherboard ( pretty rare to not have it these days btw most boards have it )

(◑‿◐)

Link to comment
Share on other sites

Link to post
Share on other sites

38 minutes ago, Valkyrie Lenneth said:

hi, ive noticed that many ppl on the forums have issues with stutter , mouse lag , problems with high cpu usage,, windows timing issues and what not

 

now in many topics the solution has actually been to adjust HPET

 

so what is HPET?

 

==========================================================================================================================================================

 

The High Precision Event Timer (HPET) is a hardware timer used in personal computers. It was developed jointly by Intel and Microsoft and has been incorporated in PC chipsets since circa 2005. Formerly referred to by Intel as a Multimedia Timer,[1] the term HPET was selected to avoid confusion with the multimedia timers as a software feature introduced in the MultiMedia Extensions to Windows 3.0.[2]

Older operating systems that do not support a hardware HPET device can only use older timing facilities, such as the programmable interval timer (PIT) or the real-time clock (RTC). Windows XP, when fitted with the latest hardware abstraction layer (HAL), can also use the processor's Time Stamp Counter (TSC) or Power Management Timer (PMTIMER), together with the RTC to provide operating system features that would, in later Windows versions, be provided by the HPET hardware. Confusingly, such Windows XP systems quote "HPET" connectivity in the device driver manager even though the Intel HPET device is not being used.

 

how can HPET affect the system?

 

Windows uses different timers in the cpu, The HPET can produce periodic interrupts at a much higher resolution than the RTC and is often used to synchronize multimedia streams, providing smooth playback and reducing the need to use other timestamp calculations such as an X86-based CPU's RDTSC instruction.

 

Additional information

 

HPET settings can be the reason of microstutter,  stutter , high cpu loads , windows clock issues and many more , and enabling the setting or disabling it can have different effects per system

 

==========================================================================================================================================================

 

Since every system is different , some systems ( mobos ) dont support HPET , some have a very good cpu and some dont

 

in general,   if u have a rly good cpu it can reward to TURN OFF HPET ,  by default HPET is enabled in almost every motherboard that supports it, however it is disabled in windows by default(because not every system supports it) thus causing an emulation ( which is bad and can cause issues )

 

to check if u have HPET enabled or disabled in windows ,   RUN CMD AS ADMINISTRATOR

 

bcdedit /enum

 

and u will see a list, in the list u should see          useplatformclock        Yes    or No

 

if it is set to NO it means its disabled in windows and if its YES its enabled in windows   , if useplatformclock is not shown up in the list at all, it probably means ur motherboard doesnt have it ( THUS SHOULD BE DISABLED IN WINDOWS )

 

the 2 best settings u can have with hpet are either

 

HPET ENABLED IN BIOS + HPET ENABLED IN WINDOWS

 

HPET DISABLED IN BIOS + HPET DISABLED IN WINDOWS

 

IT IS BAD TO HAVE HPET ENABLED IN BIOS + DISABLED IN WINDOWS

 

OR DISABLED IN BIOS + ENABLED IN WINDOWS BECAUSE IT CAUSES SOFTWARE EMULATION / TIMING

 

since every system is different either enabling it or disabling it might cause benefits

 

its known for systems wiht extremely good cpu's  that it can give an extra 10-15fps and removing microstutter / less stutter  by DISABLING HPET in the bios + WINDOWS

 

its also known for systems that it can do the exact same by ENABLING IT ( usually on systems that have cpu intensive games but having a weaker cpu... example playing bf1 with a i5, however even in this case disabling it can also improve it.. test it for your system )

 

  • To disable HPET in Windows run the command... bcdedit /deletevalue useplatformclock    ( ALSO DISABLE IT IN THE MOTHERBOARD / BIOS TO AVOID SOFTWARE EMULATION )  

  • if bcdedit /deletevalue useplatformclock doesnt disable it ,   try bcdedit /set useplatformclock false  , verify with bcdedit /enum 

  • To enable HPET as the only timer run the command... bcdedit /set useplatformclock true   ( ALSO ENABLE IT IN THE MOTHERBOARD / BIOS TO AVOID SOFTWARE EMULATION )

  • A REBOOT IS REQUIRED FOR THESE SETTINGS TO TAKE EFFECT IN WINDOWS , ALSO THE COMMANDS HAS TO BE DONE IN CMD ADMINISTRATOR

  • REMEMBER HPET IS A COMMON FIX FOR IT, IF THE STUTTER/MICROSTUTTER IS CAUSED BY ANOTHER ISSUE HPET MIGHT NOT SOLVE IT, BUT U SHOULD FEEL A DIFFERENCE WITH DISABLING/ENABLING HPET

  • CHANGING HPET SETTINGS CAN ALSO FIX ISSUES SUCH AS A GAME CRASHING AT STARTUP AND SUCH

  • even if the system is stable, adjusting hpet settings can still be a nice improvement / tweak for any system

  • i hope u guys find the right setting for ur system and get that extra smoothness / fps   or fix that microstutter / stutter :)

 

tryed to find HPET in bios cant find it rip me 

Link to comment
Share on other sites

Link to post
Share on other sites

Spoiler

Hi,

I've noticed that many people on the forums have issues with stutter, mouse lag, problems with high cpu usage, windows timing issues and what not. Now in many topics the solution has actually been to adjust HPET.

What is HPET? From Wikipedia:

Quote

 

The High Precision Event Timer (HPET) is a hardware timer used in personal computers. It was developed jointly by Intel and Microsoft and has been incorporated in PC chipsets since circa 2005. Formerly referred to by Intel as a Multimedia Timer,[1] the term HPET was selected to avoid confusion with the multimedia timers as a software feature introduced in the MultiMedia Extensions to Windows 3.0.[2]

Older operating systems that do not support a hardware HPET device can only use older timing facilities, such as the programmable interval timer (PIT) or the real-time clock (RTC). Windows XP, when fitted with the latest hardware abstraction layer (HAL), can also use the processor's Time Stamp Counter (TSC) or Power Management Timer (PMTIMER), together with the RTC to provide operating system features that would, in later Windows versions, be provided by the HPET hardware. Confusingly, such Windows XP systems quote "HPET" connectivity in the device driver manager even though the Intel HPET device is not being used.


Windows uses different timers in the cpu. The HPET can produce periodic interrupts at a much higher resolution than the RTC and is often used to synchronize multimedia streams, providing smooth playback and reducing the need to use other timestamp calculations such as an X86-based CPU's RDTSC instruction.

 

How can HPET affect the system?

HPET settings can be the reason of microstutter, stutter, high CPU loads, Windows clock issues and many more, and enabling the setting or disabling it can have different effects per system.

 

Since every system is different, some systems (motherboards) dont support HPET, some have a very good cpu and some dont.

 

In general, if you have a realy good CPU, it can reward to TURN OFF HPET.  By default HPET is enabled in almost every motherboard that supports it, however it is disabled in Windows by default (because not every system supports it), thus causing an emulation (which is bad and can cause issues).

 

How to check if you have HPET enabled or disabled in windows?

  • Run CMD as administrator.
  • Run "bcdedit /enum"

You will see a list. In the list you should see useplatformclock Yes or useplatformclock No

 

If it is set to NO it means its disabled in windows and if its YES its enabled in Windows. If useplatformclock is not shown up in the list at all, it probably means ur motherboard doesnt have it and thus should be disabled in Windows.

 

The 2 best settings u can have with hpet are either:

 

  • HPET enabled in BIOS + HPET enabled in Windows
  • HPET disabled in BIOS + HPET disabled in Windows

It is bad to have:

  • HPET enabled in BIOS + disabled in Windows
  • HPET disabled in BIOS + enabled in Windows

It causes software emulation/timing.

 

Since every system is different either enabling it or disabling it might cause may or may not have benefits.

 

It's known for systems with extremely good CPUs, that it can give an extra 10-15 FPS and remove or lessen microstutter/stutter by disabling HPET in the BIOS and Windows. Its also known for systems, that it can do the exact same by enabling it (usually on systems that have CPU intensive games, but have a weaker CPU. For example, playing BF1 with a i5. However even in this case disabling it can also improve the situation. Test it for your system).

 

What to do?

  • To disable HPET in Windows run the command bcdedit /deletevalue useplatformclock (also disable it in the motherboard / bios to avoid software emulation).

  • If bcdedit /deletevalue useplatformclock doesnt disable it, try bcdedit /set useplatformclock false. Verify with bcdedit /enum.

  • To enable HPET as the only timer run the command bcdedit /set useplatformclock true (also enable it in the motherboard / bios to avoid software emulation).

  • A reboot is required for these settings to take effect in windows , also the commands has to be done in cmd administrator.

  • Remember hpet is a common fix. If the stutter/microstutter is caused by another issue HPET, might not solve it, but you should feel a difference with disabling/enabling HPET.

  • Changing HPET settings can also fix issues such as a game crashing at startup and such.

  • Even if the system is stable, adjusting HPET settings can still be a nice improvement / tweak for any system.

I hope you guys find the right setting for your system and get that extra smoothness / fps or fix that microstutter / stutter :)

@NMS @Valkyrie Lenneth

Agreed. "I'm bad at posting" doesn't excuse you from using proper grammar (no "u" or "ur" or "rly", this reads uncomfortably) and some decent formatting :P (not that I'm a pro at formatting or anything), especially if you intend this to be a reference or guide. Also throwing capitalized text all over the place makes it uneasy to read for me at least, but that may be subjective. Also please quote your sources, especially if you just rip the introduction straight from Wikipedia ;)  I've tried to make it a bit more easy on the eyes.

 

OT: I've heard the term once or twice, but never knew that it could make a big difference. This will be an interesting experiment if my system supports it.

 

 

Crystal: CPU: i7 7700K | Motherboard: Asus ROG Strix Z270F | RAM: GSkill 16 GB@3200MHz | GPU: Nvidia GTX 1080 Ti FE | Case: Corsair Crystal 570X (black) | PSU: EVGA Supernova G2 1000W | Monitor: Asus VG248QE 24"

Laptop: Dell XPS 13 9370 | CPU: i5 10510U | RAM: 16 GB

Server: CPU: i5 4690k | RAM: 16 GB | Case: Corsair Graphite 760T White | Storage: 19 TB

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, Valkyrie Lenneth said:

it mostlikely means that ur motherboard doesnt support useplatformclock , make sure to browse in ur bios to see if u have a hpet setting ( hpet must be supported by the motherboard, not every mobo has that chip )

 

u can also try by using the enabling/disabling command + reboot, try bcdedit /enum again, if it doesnt show up again even after that then its most likely guaranteed to not be on ur motherboard ( pretty rare to not have it these days btw most boards have it )

Confirmed, no setting in BIOS.  This is a lenovo work laptop, so maybe it's not applicable.  I do see what I would consider stutter on it occasionally that clears with a reboot.  Maybe a different issue.

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, TheGlenlivet said:

Confirmed, no setting in BIOS.  This is a lenovo work laptop, so maybe it's not applicable.  I do see what I would consider stutter on it occasionally that clears with a reboot.  Maybe a different issue.

try using the disable command anyway :P doesnt hurt ^^ but yeah if u cant find it in the bios it probably doesnt have it, since its also not detected in windows, some mobos have it but u cant adjust it from enabled to disabled ( but then it shows in windows usually )

(◑‿◐)

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Valkyrie Lenneth said:

try using the disable command anyway :P doesnt hurt ^^ but yeah if u cant find it in the bios it probably doesnt have it, since its also not detected in windows, some mobos have it but u cant adjust it from enabled to disabled ( but then it shows in windows usually )

C:\WINDOWS\system32>bcdedit /deletevalue useplatformclock
An error occurred while attempting to delete the specified data element.
Element not found.

Looks like it is not applicable.  Oh well.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, TheGlenlivet said:

C:\WINDOWS\system32>bcdedit /deletevalue useplatformclock
An error occurred while attempting to delete the specified data element.
Element not found.

Looks like it is not applicable.  Oh well.

in cmd administrator? if u get that error in administrator yeah u dont have it ;c that sucks coz ul  be on a oldschool timer then

(◑‿◐)

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 years later...
On 4/12/2018 at 8:29 PM, Valkyrie Lenneth said:

in cmd administrator? if u get that error in administrator yeah u dont have it ;c that sucks coz ul  be on a oldschool timer then

Not necessarily..

I have a high end system with a new motherboard...

Asus for example just doesn't have the option in bios, and my asus mobo is tuf z390 plus gaming, not old at all

 

But does that mean it should or shouldnt enable it in windows?

 

Thanks in advance!

Link to comment
Share on other sites

Link to post
Share on other sites

  • 9 months later...
On 12/24/2020 at 2:58 PM, BroYoHo! said:

I have a high end system with a new motherboard...

Asus for example just doesn't have the option in bios, and my asus mobo is tuf z390 plus gaming, not old at all

 

But does that mean it should or shouldnt enable it in windows?

As far as I know, HPET mostly existed because old CPUs had low clock speeds and couldn't afford to lose a core for time calculations. On newer CPUs, there's a dedicated timer circuit called the Invariant Timestamp Counter (TSC), which runs at a constant frequency (mostly 10mHz I believe) 

 

Basically, HPET has gone out of favor in most uses due to it being heavy on the CPU, but it still is about 4-6 times more precise than the TSC.

 

https://www.overclockers.at/articles/the-hpet-bug-what-it-is-and-what-it-isnt 

This link will lead you to a guide that includes a nifty utility that benches your pc's performance with and without HPET. The utility can enable and disable the feature with a click, however it requires a system restart to apply.

 

There is an easier way to disable HPET too, that doesn't require CMD.  https://silicophilic.com/disabling-hpet-settings/

 

Hope this helps anyone in the future.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×