TWEAK: Enable HPET (in BIOS and OS) for better performance and FPS


Recommended Posts

HPET off in WIndows: Timers are not in sync:

Windows8RTCBugTestingV2_12.png

 

HPET on in Windows: Timers are in sync:

Windows8RTCBugTestingV2_13.png

 

 

There is a timer big in Win 7 & 8

http://www.ocaholic.ch/modules/smartsection/item.php?itemid=1071

 

 

Because of a bug this deep, it's expected for software such as games and applications perform differently. So for to get the best result with application in question, one just has to benchmark, test and see.

 

The timer bug issue is real.

I thought these "tweaks" were dying out.

 

This does absolutely nothing positive on anything I've tried it with.  At best it does nothing, at worst it makes the system completely unpredictable in terms of performance.

 

What are you going to tell us to do next? Go into msconfig and tell Windows to use multiple cores during boot?

He really misses the forest for the trees there. All of this wasted idle time accounts for only small fractions of energy in comparison to load times. I would hazard a guess that Idle loads make up 1-3% of the power budget of server farms and super computers. The focus in HPC has generally been on saving power during load times and reducing maximum power consumption because that's were you see obvious savings.

 

He also makes the same mistake that is being made in this thread: not testing for overhead in real workloads. You can't establish a relationship for %overhead in real loads by testing a toy benchmark. He's probably right that there is noticeable overhead from higher timers resolution in general, but he certainly isn't proving it .

  • 3 weeks later...

To test the impact of HPET specifically for my system I decided to use the Bioshock Infinite Benchmarking utility.

The reason being simply because I plan on playing this game.
In the tool I chose the options: (2) UltraDX11_DDOF, (2) Custom resolution, (1) 16:9, (4) 1920 x 1080
I ran the 5 tests in succession after first restarting the computer and verified the HPET settings were activated via WinTimerTester I then let the computer idle for 5 minutes.

My Operating system is: Windows 7 Pro x64
CPU: Core i5 3570K OC to 3.8GHz - CPU power saving features disabled so it runs at a constant 3.8GHz always.
Mobo: Asus P8z77-v pro (Note the LPCIO is a Nuvotron)
RAM: Gskill Sniper 2133 2x4GB
GPU: EVGA Nvidia Geforce 560Ti 1GB Crysis 2 edition

I read somewhere that Nuvotron timer on Asus boards perform worse than the regular timers - which is reflected below.

With HPET enabled in bios and useplatformclock yes: (WinTimerTester reports QPF 14.31818 MHz)
test 1 avg fps: 42.06 min: 13.34 max: 82.70
test 2 avg fps: 42.04 min: 17.39 max: 77.26
test 3 avg fps: 42.07 min: 15.40 max: 80.88
test 4 avg fps: 41.92 min: 13.98 max: 87.14
test 5 avg fps: 42.11 min: 16.25 max: 82.07
Total Average FPS: 42.04

With HPET disabled in bios and useplatformclock no: (WinTimerTester reports QPF 3.32038 MHz)
test 1 avg fps: 42.50 min: 15.48 max: 82.53
test 2 avg fps: 42.50 min: 11.54 max: 87.50
test 3 avg fps: 42.59 min: 18.49 max: 87.16
test 4 avg fps: 42.51 min: 15.68 max: 86.36
test 5 avg fps: 42.55 min: 19.99 max: 85.29
Total Average FPS: 42.53 (gain of 0.49 fps or 1%)

Interestingly, If I leave HPET enabled in BIOS and used bcdedit /deletevalue useplatformclock and reboot, WinTimerTester reports QPF to be 3.32037. FPS avg was 42.37.

When I used latencyMon to do latency tests this is what I got with HPET on and off:

HPET ON:

Highest measured interrupt to process latency (?s):   137.307954
Average measured interrupt to process latency (?s):   3.937589

Highest measured interrupt to DPC latency (?s):       72.285723
Average measured interrupt to DPC latency (?s):       1.535534

HPET Off:

Highest measured interrupt to process latency (?s):   78.304503
Average measured interrupt to process latency (?s):   1.111873

Highest measured interrupt to DPC latency (?s):       77.099818
Average measured interrupt to DPC latency (?s):       0.492777

both tests were done after letting the computer idle 10 minutes after rebooting it and checking that wintimertester reported the correct frequencies.
The tests were also let to run for 10 minutes.

Conclusion: (For me at least or people using the same board/Nuvotron LPCIO with Win7) Leave HPET disabled in motherboard and useplatformclock set to no.
If you are using windows 8 you probably want HPET enabled if you are overclocking or using turbo boost as it can actually mess up your clock and possibly do other things.

 

I still have the benchmark results saved so if you need more detail I can provide it.

The FPS results are too "noisy", you have a variance of 10fps in one of the tests, so an average increase of 0.49fps is just "noise", if you repeated those tests you'd get different results again.

Not really surprising. If there was a difference, gaming sites would have been widely reporting the results and we'd have seen professional benchmarks of HPET vs non-HPET for gaming.

Well its not like the Bioshock Infinite benchmark is an accredited benchmarking program or anything. However the latencymon tests are pretty clear to me. Honestly I can't really feel or see any difference between this setting being set to on or off but it is true my latency is lower with hpet completely disabled. An average of nearly 4us compared to 1.1us on interrupt to process latency is pretty big.

 

I did my work. I would like to see others do some benchmarks and compare scores like I did. Especially to confirm whether or not the Nuvotron LPCIO results in worse timings compared to other manufacturers.

Well its not like the Bioshock Infinite benchmark is an accredited benchmarking program or anything. However the latencymon tests are pretty clear to me. Honestly I can't really feel or see any difference between this setting being set to on or off but it is true my latency is lower with hpet completely disabled. An average of nearly 4us compared to 1.1us on interrupt to process latency is pretty big.

 

I did my work. I would like to see others do some benchmarks and compare scores like I did. Especially to confirm whether or not the Nuvotron LPCIO results in worse timings compared to other manufacturers.

Don't discount your Bioshock results. Bioshock is real world benchmark and is exactly what you would want test here to see if HPET results in tangible real-world performance gains/losses. It's the difference between micro-benchmarking and benchmarking actual applications. See: http://en.wikipedia.org/wiki/Benchmark_(computing) and see post #73 in this thread where I discussed the numerous issues with how the original benchmarking was done in this thread.

 

In this particular case with your DPC benchmarks, we are talking about DPC latencies with a few millionths of a second difference on average. These results are so tiny that it would be impossible to perceive a difference for real-time audio/video. Now if there had been large spikes that would be a different story.

 

Also, one last things to note, the LPC Bus is separate from clock generation (It's not the clock source).

 

Hi there, where to get this timers tool from, shown in hardbags screenshots?

He used this: http://en.wikipedia.org/wiki/Windows_System_Assessment_Tool

sure? how to show this timers window then?

I thought you were talking about the scores from post #61 (. For those you need to run winsat in command line:

http://windowsitpro.com/systems-management/how-can-i-run-windows-system-assessment-tool-winsat-update-directly-command-line

 

For the other benchmarks, he list those in the corresponding post.

thanks a lot for your efforts. just for better understanding, im talking about the pictures in post #77. there is a link, but i'm not able to find this software anywhere!

Oh, that particular piece of software is private. Comments on the website of that thread asked for it, and the author declined to give it for some reason. As such, the results should be taken with a grain of salt since they are not verifiable.

 

You may be able to find another piece of software that gives the resolution for the other timers, but you can test HPET using wintesttimer.

Don't discount your Bioshock results. Bioshock is real world benchmark and is exactly what you would want test here to see if HPET results in tangible real-world performance gains/losses. It's the difference between micro-benchmarking and benchmarking actual applications. See: http://en.wikipedia.org/wiki/Benchmark_(computing) and see post #73 in this thread where I discussed the numerous issues with how the original benchmarking was done in this thread.

 

In this particular case with your DPC benchmarks, we are talking about DPC latencies with a few millionths of a second difference on average. These results are so tiny that it would be impossible to perceive a difference for real-time audio/video. Now if there had been large spikes that would be a different story.

 

Also, one last things to note, the LPC Bus is separate from clock generation (It's not the clock source).

...

Yeah, this is one of those things where benchmarking doesn't help much, since any improvements won't be visible. The default timer resolution on Windows is only 16ms (You can lower it, but Microsoft recommends against it for a bunch of reasons), so seeing an improvement of a few microseconds on one benchmark isn't going to translate into a real world difference.

And the benchmark that is useful (The Bioshock one) is noisy enough to not actually show any improvements, and that's just a fact of how computers work (The game isn't the only thing running, each run of the game will actually be different due to multiprocessing, etc.). If we saw a large improvement over multiple runs of the benchmark then we could see that the tweak had some actual effect.

  • Like 1

These are my results:

 

 

cbv9.jpg

wnfz.jpg

 

My Hardware: 3770K std clock on a GA-Z77-DS3H (TimerResolution.exe running in background) (HPET on, OS and EFI)

 

I saw, for example on Cartels pictures (#60), people with way lower latencies. How to reach them? With HPET off I'm still not able to reach these low latencies... :(

In what scenario does it possibly matter?

 

There are no actual use benefits from a lower latency here.

 

 

Hi there,

 

in Germany it's very rude to answer a question with a counter question. But I'd like some help, so I'll try to explain. Before I experimented with the HPET Option activated, I had a lower latency. Many things ran smoother and more fluent. Now with HPET on, some other things work better. So why shouldn't I try to combine these options? Obviously this should be the best possible system setting for me.

 

Kind regards,

WonG.

Hi there,

 

in Germany it's very rude to answer a question with a counter question. But I'd like some help, so I'll try to explain. Before I experimented with the HPET Option activated, I had a lower latency. Many things ran smoother and more fluent. Now with HPET on, some other things work better. So why shouldn't I try to combine these options? Obviously this should be the best possible system setting for me.

 

Kind regards,

WonG.

My former co-worker from Germany use to do this :laugh:. That's a bit of a digression but there are many cases where asking a counter question is perfectly valid. In this case, Wakers has a valid point and question. The reason being that you are seeing latencies in the 500 millionths of a second range. The resolution is so tiny that you should be able to handled deferred real time video and audio without delays (read as: smooth playback).

 

That being said to answer your question, you probably aren't going to be able to achieve lower latencies than you are currently seeing. The only thing else you can do is play with turning off device drivers. For example, turning off wireless will lower my DPC latencies. One other things you can do that I don't personally recommend is disable dynamic scaling of cores (in the power options set the minimum processor state to 100%).

 

Let me be clear about what happens when you have the platformclock setting as false. It's not that it disables HPET, what really happens is that it Windows uses a combination of timers for timing (TSC + HPET). Why? Because using the TSC is cheaper to sample than HPET so it is better suited for scheduling operations. However, at the same time HPET is useful for scheduling one-shot interrupts for sleeping or idling systems (it saves power). The point, I'm making is that different timers have advantages and disadvantages in certain scenarios and this is not, "HPET is the best timer on the system" as the information you'll find around the web would seem to indicate.

 

As for how that relates back to DPC latencies: I noticed a consistent difference of only 50-100us minimum on my laptop between forcing / not forcing HPET. It was far too low make any perceivable difference. To put that in context, in testing the difference is ~1-2% of the maximum latencies I see on my laptop (wifi causes spiking of 1000-3000us at times).

 

To be perfectly honest, I'm not even convinced that the timer they are using to measure DPC has consistent reliable results between when HPET is forced and not forced. Why? The Windows API doesn't give you a consistent clock source. It depends on the system configuration which we are changing in this scenario. See section 2.1.4 here: http://www.windowstimestamp.com/description -- so how can I be sure the differences aren't accounted for by changes in the timer function behavior itself?

But I already saw way lower latencies on other screenshot, for example in post #60. Without HPET activated my latency was about 60-90?s. And believe me, the difference is huge (especially in video games). I saw people with latencies about 20-50 with HPET activated. A stable latency (around 100?s) should work for me. Otherwise I'll have to deactivate HPET again, because the disadvantages outbalance the advantages. That's not what I'm aiming for, I don't want to miss the advantages I already acquired :(

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Most boring game ever. Repetitive, empty, predictable, and full of cliches. Total waste of time and money, IMO.
    • Mafia: The Old Country expansion Man of Honor announced, brings back Salieri from original by Pulasthi Ariyasinghe During Summer Game Fest, 2K and Hanger 13 brought out a new Mafia: The Old Country trailer, revealing the game's first expansion. Named Man of Honor, this is slated to add two new chapters to the Enzo storyline that the game follows. There is an iconic character returning to the series with this expansion, with players set to run into Ennio Salieri, the future Don of the Salieri crime family. Fans of the original Mafia, or its Definitive Edition remake, may remember that name as one of the biggest characters in the storyline. This expansion is set prior to his rise to being the kingpin in the City of Lost Heaven. "Set in Sicily during the winter of 1905, Enzo Favara has proven himself a reliable soldier of the Torrisi crime family in the months since his initiation," says the studio about the new chapters. "Now, the Don entrusts him and Cesare with a delicate assignment of assisting Ennio Salieri, a man of honor recently released from prison and intent on reclaiming what is his." Working at Salieri's side, players will be heading into fresh environments as they return to the role of Enzo as a high-ranking soldato. The studio also promises brand-new weapons, fresh vehicles, and charms to collect in this expansion. Moreover, the expansion will add new content to the updated Free Ride mode. Alongside new collectibles and locations, this will add more challenges to beat alongside Salieri, which are described as runs that will "test the skills of even the most elite mafiosi." The Mafia: The Old Country Man of Honor story expansion will release on August 14, 2026, across PC, Xbox Series X|S, and PlayStation 5. It will cost $10 for owners of the base game to jump into.
    • Try installing Logitech Options
    • Telltale returns with The Wolf Among Us, re-revealing the sequel and a new remaster by Pulasthi Ariyasinghe Telltale Games, the studio known for its episodic games from the 2000s, had a surprise appearance at the Summer Game Fest showcase today. The studio has gone through a collapse, an acquisition, and a revival but has largely gone silent in recent years. Today's sudden announcement was for the popular The Wolf Among Us series, with news about the sequel and a remaster dropping. Set after the events of the 2013-released title, the sequel will bring back Biby Wolf for a new adventure in Fabletown. This town of fairy tale characters is becoming unstable, with Snow White not being able to keep order as before. "When a brutal series of crimes threatens to fracture the fragile balance holding Fabletown together, Bigby Wolf, sheriff of Fabletown, finds himself drawn into a dangerous conspiracy that reaches deep into the city’s criminal underworld," says the studio. "As suspicion spreads across the city and powerful forces work against him, Bigby must uncover the truth and decide what kind of sheriff - and what kind of wolf - he is willing to become." At the same time, Telltale also announced The Wolf Among Us Remastered, bringing back the classic with a fresh coat of paint. This will include all five episodes from the original game plus over an hour of extra content that will offer behind-the-scenes videos, cast interviews, image galleries, and deleted scenes. The remaster will also have updated visuals and improved UI elements and accessibility features, alongside upgrades to the animations, audio, and frame rates. Telltale has been working on this project for almost a decade now, but if the new release schedule holds, fans will be able to jump into The Wolf Among Us 2 sometime in 2027. As for The Wolf Among Us Remastered, this is slated to release during this holiday season.
    • I use a Linux laptop every day. I have tried to switch to Linux on my gaming PC which has a 5070 ti. It was not a great experience
  • Recent Achievements

    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
    • Dedicated
      JKR earned a badge
      Dedicated
    • One Year In
      CHUNWEI earned a badge
      One Year In
    • Conversation Starter
      FBSPL earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      488
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      77
    4. 4
      Steven P.
      68
    5. 5
      FloatingFatMan
      62
  • Tell a friend

    Love Neowin? Tell a friend!