"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

The HPET bug: What it is and what it isn't

mat 26.04.2018 - 11:30 187441 56 Thread rating
Posts

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
timerbench-and-the-hpet-bug-preview_230280.jpg
Anandtech recently released an article that pointed out problems with their CPU reviews due to an enabled High Precision Event Timer in Windows. Some Intel processors suffered from decreased performance in games and other benchmarks. Since then a lot of misconceptions are going around. People are calling out Intel as cheaters when actually the opposite is going on. We take this opportunity to have another look at the HPET bug and finally announce TimerBench, our Windows timer benchmark to the public. It provides proof behind these infamous HPET problems and helps you to test the impact of your timer configuration on your system performance.

Deutsche Version

THEBOSS619

Bloody Newbie
Registered: Oct 2018
Location: Russia
Posts: 3
I just wanted to report here as I have an opposite results :)

I tried with HPET OFF/ON and HPET ON without forcing Windows OS to use it :)

I have the best results when when having HPET ON in BIOS but without forcing it on Windows OS :)

Here is the screenshots :)

https://imgur.com/a/CVy4zXr

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
Hello,

I don't see anything unusual in the first two screenshots. They show without any doubt that Skylake is horrible with HPET on and you should disable it on your system.

The interesting screenshot is your third one! I have never seen a 10 MHz timer ever. The result is clearly from TSC, but this seems to be a very strange Windows bug with a totally wrong calculated startup frequency. I already have a workaround for this and will upload an updated version soon.

THEBOSS619

Bloody Newbie
Registered: Oct 2018
Location: Russia
Posts: 3
Zitat aus einem Post von mat
Hello,

I don't see anything unusual in the first two screenshots. They show without any doubt that Skylake is horrible with HPET on and you should disable it on your system.

The interesting screenshot is your third one! I have never seen a 10 MHz timer ever. The result is clearly from TSC, but this seems to be a very strange Windows bug with a totally wrong calculated startup frequency. I already have a workaround for this and will upload an updated version soon.

Thank you mat :) I will disable it now ;)

But isn't the results with HPET (On) in BIOS without forcing windows to use HPET are having the best results in those screenshots than others? Right? :)

I even feel the system is snappier and smoother and no lag and also windows start up very fast with HPET (On) in BIOS without forcing windows to use HPET :)

Anyway I will disable it for now and I will wait for your updated version :)))

Thank you (^.^)

Majestic12

Bloody Newbie
Registered: Oct 2018
Location: Poland
Posts: 1
Zitat aus einem Post von mat
The interesting screenshot is your third one! I have never seen a 10 MHz timer ever. The result is clearly from TSC, but this seems to be a very strange Windows bug with a totally wrong calculated startup frequency. I already have a workaround for this and will upload an updated version soon.

That 10 Mhz bug appeared on the newest Windows 10 update (1809).

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
Zitat aus einem Post von Majestic12
That 10 Mhz bug appeared on the newest Windows 10 update (1809).
Thanks for the information, I will look into it!

Neferzix

Bloody Newbie
Registered: Jan 2019
Location: Costa Rica
Posts: 1
Hallo an alle! Ich habe vor ein paar Tagen diese großartige Community gefunden, und ich bin daran interessiert, Teil der Community zu sein. In Bezug auf die Windows-Zeitgeber bei der Aktivierung oder nicht bei HPET ist mir aufgefallen, dass das Thema Nachgeben der FPS einen hohen Stellenwert hat, aber es gibt nur wenige Tests Was ist mit Framerate? Entschuldigung für mein Deutsch als Google-Übersetzer.

mdblack98

Bloody Newbie
Registered: Feb 2019
Location: Quincy IL USA
Posts: 2
TimerBench will not run for me.
It says "The following component(s) are required to run this program: DirectX Runtime".

I have a default Windows 10 Home installation which purportedly already has DirectX.

Mike

mdblack98

Bloody Newbie
Registered: Feb 2019
Location: Quincy IL USA
Posts: 2
Found the solution was to install this
https://www.microsoft.com/en-us/dow...tion.aspx?id=35
Mike

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
TimerBench uses DirectX 11 for its "game test", so that's a requirement. As you noted, not every Windows version comes with DX11 preinstalled. Thx for your post, I will add it to the article.

chris94

Bloody Newbie
Registered: Oct 2019
Location: nor
Posts: 3
The scores from the benchmarks are generally really good, but the maximum frame time seems to be too high. I've tested multiple systems and I've seen max frame times up to 18-19 ms on my "beefiest" system and down to 8-9 ms on lower end system with worse benchmark scores. I don't know alot about this and that's why I'm asking you to maybe help with some input

Under QPC mode it states unknown, I've seen this on alot of other tests from users, what causes this as the normal is invariant TSC? It's seems like however I treat the OC and stuff it does not make a change towards max frame time, is it only the GPU that matters for this?

I9 9900k @ 5.2 GHz
ASUS ROG MAXIMUS XI APEX
16 GB G.SKILL 4266 MHz
GeForce GTX 2080 Ti
NZXT x62 280mm water cooling

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
"Unknown" means that you have the latest version of Windows which reports a QPC frequency of 10 MHz. This will still always be the "Invariant TSC", TimerBench just doesn't understand it yet.

As for the frame times, I wouldn't count to much on them, especially if they are that low. I've added them to show a possible bottleneck of the CPU due to a slow timer configuration. If that happens you would've seen max frame times of hundreds of milliseconds and a stuttering every other second during the game bench.

That said, TimerBench only has a single function: To show if your QPC timer configuration is not holding your CPU and graphics card back. If you switch to HPET as QPC mode, you would see much higher frame times, which concludes that iTSC is the fastest possible setting on your system (and Coffee Lake in general). So you're good. :)

chris94

Bloody Newbie
Registered: Oct 2019
Location: nor
Posts: 3
Thank you for reply. Do you know of any direct ways to maybe decrease the max frame time anyways?

Since the max frame time is some what consistent every test there needs to be something that determines.. the max frame time :D

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25371
There is nothing specific that helps to achieve lower frame times. But whatever helps in any game, should help here. Overclocking of GPU, CPU and memory. Slicker Windows with less in the background and so on.

chris94

Bloody Newbie
Registered: Oct 2019
Location: nor
Posts: 3
Hi again mat.

Another question. Have you ever tried to see the difference in performance after the change of QPC in 1809+ windows updates?

On 1809+ QueryPerformanceFrequency() returns 10mhz (10ms) which is causing the GUI et al to have latency. DPC latency is also elevated post 1809 installation. This happens on multiple, different motherboards (AMD, Intel) as well as various configurations.
1709 and previous versions are true TSC between 2-4mhz (give or take) depending on the CPU speed.

Do you think this can have impact?
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz