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

    • 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
    • Alien Isolation 2 will bring a new protagonist and setting, watch the reveal trailer here by Pulasthi Ariyasinghe Only a few weeks ago, Sega and Creative Assembly dropped a teaser for a new Alien Isolation. Today at Summer Game Fest, Alien: Isolation 2 was officially announced with a new trailer while also confirming a whole lot of information about the setting of this survival horror project. Check out the reveal trailer above. Leaving behind the Sevastopol space station, the sequel will take players to a remote colony world. With a Xenomorph (or more) on the loose, players will be navigating both the surface of the weather-ravaged planet as well as "the claustrophobic confines of the Weyland-Yutani outpost of Kurosaki Station." Interestingly, Creative Assembly is leaving behind Amanda Ripley, the daughter of Alien's Ellen Ripley, as the protagonist too. While it hasn't confirmed a name yet, players will be taking the role of a new character for this new adventure. The setting is also being described as a new hunting ground for the Alien. This will have players improvising and developing new tools to aid in their survival and escape, all to avoid "cinema’s deadliest killer." "It has been over a decade since we created the original Alien: Isolation and I am so excited to show everyone the first glimpse of the sequel," says Al Hope, Creative Director at Creative Assembly. "Our dedicated Survival team at Creative Assembly has been working hard to create a new, evolved Isolation experience continuing the legacy of the Alien franchise, making the eponymous killer smarter, the environment harsher and the chance of survival slimmer." Promising the same deadly tension from the original from over a decade ago, Alien: Isolation 2 is in development for PC, Xbox Series X|S, Nintendo Switch 2, and PlayStation 5. A release date has not been announced yet.
    • With how far Tim Apple's head has been up Trump's ass, there's no way this was done reluctantly.
    • Like the article stated, it's written completely from scratch, unlike the umpteen Chromium clones. It got its start as the browser built-in to the also written-from-scratch SerenityOS.
  • Recent Achievements

    • 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
    • Week One Done
      I2D earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      484
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      77
    4. 4
      Steven P.
      68
    5. 5
      +Edouard
      61
  • Tell a friend

    Love Neowin? Tell a friend!