cancel
Showing results for 
Search instead for 
Did you mean: 

HPET and Windows 10 on RVE

Qwinn
Level 11
Hullo all. Seeing as we don't seem to have an option to enable/disable HPET (High Precision Event Timer) on the RVE, I'm wondering if anyone's taken to playing with the settings in Windows 10 and if they've seen any performance improvement by disabling the device/driver for it.

For those who aren't familiar with it, here's just one of dozens of threads I've found discussing the subject.

http://www.overclock.net/t/1567745/windows-10-disable-hpet-before-install-and-enjoy-low-latencies/10
19,900 Views
5 REPLIES 5

Minsekt
Level 7
hey qwinn, ive tried benchmarks with core analyizer and found no difference. afaik, windows 8 and above doesnt use hpet anyway, its using tsc. if a program is written to use hpet, it will enable it regardless what setting youve set in bios, thats why they got rid of it.

Minsekt wrote:
hey qwinn, ive tried benchmarks with core analyizer and found no difference. afaik, windows 8 and above doesnt use hpet anyway, its using tsc. if a program is written to use hpet, it will enable it regardless what setting youve set in bios, thats why they got rid of it.


This is wrong. As almost everything in the linked thread. The only person who knows what they're talking about is RagingCain.

The facts are:

1) Windows by default uses only TSC+LAPIC

2) There are no programs that are written to use HPET. Because such thing is not possible programmaticaly. There is no API call or library, for any
programming language that allows you to do so if useplatformclock is not set in BCD. Under Windows that is. If useplatform clock is set, then certain
functions (see std::chrono for example) use HPET, otherwise they use TSC.

3) If useplatformclock is not set, HPET is not used ever. Period.

4) The option is not there in the UEFI anymore because it's always enabled. There was no point in disabling it so there was no point for the switch. It is a platform feature (meaning it's part of the PCH, the chipset) and consumes no resources. Also because of 2 and 3 listed above it is not used anywhere unless specifically enabled in BCD.

5) Any recommendations to disable HPET, pertain to older chipsets and boards which had buggy HPET implementations. Also older Windows versions used HPET along with TSC and LAPICs because on early CPUs TSC was extremely unreliable and problematic. Specifically it got extremely messed up by variations of clock speed by EIST, Turbo, etc. Any perpetuation of such recomendations propagate only due to misinformation and/or placebo effect.

6) HWBOT will not accept benchmark results from any system with Windows 8 or newer unless HPET is enabled. This is due to these versions of Windows having a certain bug that allow you to cheat on benchmarks unless the timer used is HPET. This is why Realbench HWBOT edition required HPET to be enabled in order to submit scores if you are on those Windows versions.

EDIT:
7) There is no point in disabling the device. You will gain absolutely nothing from doing so other than having the device manager open with the system subsection expanded because it contains a disabled device. 😛
RAMPAGE Windows 8/7 UEFI Installation Guide - Patched OROM for TRIM in RAID - Patched UEFI GOP Updater Tool - ASUS OEM License Restorer
There are 10 types of people in the world. Those who understand binary and those who don't!

RealBench Developer.

Nodens wrote:
This is wrong. As almost everything in the linked thread. The only person who knows what they're talking about is RagingCain.

The facts are:

1) Windows by default uses only TSC+LAPIC

2) There are no programs that are written to use HPET. Because such thing is not possible programmaticaly. There is no API call or library, for any
programming language that allows you to do so if useplatformclock is not set in BCD. Under Windows that is. If useplatform clock is set, then certain
functions (see std::chrono for example) use HPET, otherwise they use TSC.

3) If useplatformclock is not set, HPET is not used ever. Period.

4) The option is not there in the UEFI anymore because it's always enabled. There was no point in disabling it so there was no point for the switch. It is a platform feature (meaning it's part of the PCH, the chipset) and consumes no resources. Also because of 2 and 3 listed above it is not used anywhere unless specifically enabled in BCD.

5) Any recommendations to disable HPET, pertain to older chipsets and boards which had buggy HPET implementations. Also older Windows versions used HPET along with TSC and LAPICs because on early CPUs TSC was extremely unreliable and problematic. Specifically it got extremely messed up by variations of clock speed by EIST, Turbo, etc. Any perpetuation of such recomendations propagate only due to misinformation and/or placebo effect.

6) HWBOT will not accept benchmark results from any system with Windows 8 or newer unless HPET is enabled. This is due to these versions of Windows having a certain bug that allow you to cheat on benchmarks unless the timer used is HPET. This is why Realbench HWBOT edition required HPET to be enabled in order to submit scores if you are on those Windows versions.

EDIT:
7) There is no point in disabling the device. You will gain absolutely nothing from doing so other than having the device manager open with the system subsection expanded because it contains a disabled device. 😛



But for example on Asus Z8P77 it effects the mouse movement. and disabling from the bios improve the mouse accuracy

Qwinn
Level 11
Hey Minsekt,

I'm curious about the following two options:

1) Enabling HPET in Windows 10
2) Disabling the HPET driver altogether

As in, either go all in on HPET, or remove it altogether. I'm still reading up as I want to know what to actually look for in terms of latencies and performance. Will report back, tho may take me a few days. In the meantime, if anyone else has tested it, would be curious to see results.

I have searched the BIOS as well for this settings which was available on previous boards indeed.

Why botter? Because I bench competitavely on HWBOT (http://hwbot.org/user/henkenator68nl/) and some tests need the HPET data to verify validity and prevent buggy benchmark results . GPUPI is an example of such a benchmark tool.

However Enabling it in the OS should do the Trick. Some general info: this is the error I get when running GPUPI
High Precision Event Timer for time measurement not found!

GPUPI needs a timer with a very high resolution to ensure that the time measurement for a benchmark run is precise. Therefor you need to have the High Precision Event Timer (HPET) enabled in your BIOS settings and your system settings. To check the status of the latter, open up a command prompt with administration rights and run:
SHELL:
bcdedit /enum

The value of useplatformclock should be "Yes".

If it's not, you can fix this by running:
SHELL:
bcdedit /set useplatformclock yes

for windows 10: type powershell in the search area next to start button. than right click Windows Powershell ISE. Choose run as Administrator.
58451
Than type the same commands. See screenshot.