AMD and Intel Have Different HPET Guidance

A standard modern machine, with a default BIOS and a fresh Windows operating system, will sit on the first situation in the table listed above: the BIOS has HPET enabled, however it is not explicitly forced in the operating system. If a user sets up their machine with no overclocking or monitoring software, which is the majority case, then this is the implementation you would expect for a desktop.

AMD

We reached out to AMD and Intel about their guidance on HPET, because in the past it has both been unclear as well as it has been changed. We also reached out to motherboard manufacturers for their input.

For those that remember the Ryzen 7 1000-series launch, about a year ago from now, one point that was lightly mentioned among the media was that in AMD’s press decks, it was recommended that for best performance, HPET should be disabled in the BIOS. Specifically it was stated that:

Make sure the system has Windows High Precision Event Timer (HPET) disabled. HPET can often be disabled in the BIOS. [T]his can improve performance by 5-8%.

The reasons at the time were unclear as to why, but it was a minor part in the big story of the Zen launch so it was not discussed in detail. However, by the Ryzen 5 1000-series launch, that suggestion was no longer part of the reviewer guide. By the time we hit the Ryzen-2000 series launched last week, the option to adjust HPET in the BIOS was not even in the motherboards we were testing. We cycled back to AMD about this, and they gave the following:

The short of it is that we resolved the issues that caused a performance difference between on/off. Now that there is no need to disable HPET, there is no need for a toggle [in the BIOS].

Interestingly enough, with our ASUS X470 motherboard, we did eventually find the setting for HPET – it was not in any of the drop down menus, but it could be found using their rather nice ‘search’ function. I probed ASUS about whether the option was enabled in the BIOS by default, given that these options were not immediately visible, and was told:

It's enabled and never disabled, since the OS will ignore it by default. But if you enable it, then the OS will use it – it’s always enabled, that way if its needed it is there, as there would be no point in pulling it otherwise.

So from an AMD/ASUS perspective, the BIOS is now going to always be enabled, and it needs to be forced in the OS to be used, however the previous guidance about disabling it in the BIOS has now gone, as AMD expects performance parity.

It is worth noting that AMD’s tool, Ryzen Master, requires a system restart when the user first loads it up. This is because Ryzen Master, the overclocking and monitoring tool, requires HPET to be forced in order to do what it needs to do. In fact, back at the Ryzen 7 launch in 2017, we were told:

AMD Ryzen Master’s accurate measurements present require HPET. Therefore it is important to disable HPET if you already installed and used Ryzen Master prior to game benchmarking.

Ultimately if any AMD user has Ryzen Master installed and has been run at any point, HPET is enabled, even if the software is not running or uninstalled. The only way to stop it being forced in the OS is with a command to chance the value in the BCD, as noted above.

For the Ryzen 2000-series launch last week, Ryzen Master still requires HPET to be enabled to run as intended. So with the new guidance that HPET should have minimal effect on benchmarks, the previous guidance no longer applies.

Ryzen Master is not the only piece of software that requires HPET to be forced in order to do what it needs to do. For any of our readers that have used overclocking software and tools before, or even monitoring tools such as fan speed adjusters – if those tools have requested a restart before being used properly, there is a good chance that in that reboot the command has been run to enable HPET. Unfortunately it is not easy to generate a list, as commands and methods may change from version to version, but it can apply to CPU and GPU overclocking.

Intel

The response we had from Intel was a little cryptic:

[The engineers recommend that] as far as benchmarking is concerned, it should not matter whether or not HPET is enabled or not. There may be some applications that may not function as advertised if HPET is disabled, so to be safe, keep it enabled, across all platforms. Whatever you decide, be consistent across platforms.

A cold reading of this reply would seem to suggest that Intel is recommended HPET to be forced and enabled, however my gut told me that Intel might have confused ‘on’ in the BIOS with ‘forced’ through the OS, and I have asked them to confirm.

Looking back at our coverage of Intel platforms overall, HPET has not been mentioned to any sizeable degree. I had two emails back in 2013 from a single motherboard manufacturer stating that disabling HPET in the BIOS can minimise DPC latency on their motherboard, however no comment was made about general performance. I cannot find anything explicitly from Intel though.

A Timely Re-Discovery Forcing HPET On, Plus Spectre and Meltdown Patches
Comments Locked

242 Comments

View All Comments

  • RafaelHerschel - Thursday, April 26, 2018 - link

    It's extremely disappointing. The original benchmarks should not have been published. But since that happened, they should have been removed or at the very least, there should have been a far more obvious (and stronger) disclaimer.

    Even their mea culpa isn't very strong. The article is well written, but should have started with: "We made a mistake". I dislike the misleading statement that other publications did not all install the latest patches. Some publications did, others gave a good reason why they didn't.

    Mistakes happen, but after days of showing incorrect benchmarks people started speculating and even now there are still people spreading misinformation based on the AnandTech article.

    This is an editorial problem. I feel very ambivalent about at this. AnandTech supplied some really interesting information, but if they can't redact wrong information in timely fashion, then AnandTech is not trustworthy.

    I have reached my personal conclusion, but it is with regret. A few extra lines in the original version of the review would have made all the difference.
  • Ryan Smith - Thursday, April 26, 2018 - link

    "This is an editorial problem. I feel very ambivalent about at this. AnandTech supplied some really interesting information, but if they can't redact wrong information in timely fashion, then AnandTech is not trustworthy."

    Ultimately that sits with me. Ian was able to repeat the earlier numbers again and again and again. Which indicated, at least initially, that it wasn't a mere fluke with our testing. The numbers we were getting were correct for the scenario we were testing. It just wasn't the scenario we thought we were testing.

    It wasn't until he found the HPET connection a couple of days later that we even began to understand what was going on. And a couple of days later still until we had enough data to confirm our hypothesis.

    As far as the original review goes, while it's been updated a few times since then, once we decided to audit our results, we did post a note on several pages about it. Which I hope was plainly visible. But if not, then that is very good feedback to have.
  • eva02langley - Friday, April 27, 2018 - link

    Your methodology was good, it is just that an important factor... that should not be a factor... is actually crippling the competition.

    My question now is, odes HPET should be forced in today systems? For example, for security or other stability issues?

    I mean, by playing in the lab, you did discover a huge problem and Intel needs to address IMHO.

    Now it is coming back to the use of HPET and the requirements behind it.

    Also, is this a problem with only older games? If this is the case, changing your bench suites should be a priority.
  • Tchamber - Thursday, April 26, 2018 - link

    It's too bad you're so upset by this. Their first results, while not representative of peak performance, are indeed valid for the way they were achieved. They are not "wrong," so much as parallel. I hope they keep the results. As this review is the first one to have this issue, I'm glad to see they discovered the cause of the performance scores in such a short time. Keep up the good work, Ian!
  • AdditionalPylons - Thursday, April 26, 2018 - link

    Fascinating!
  • MDD1963 - Thursday, April 26, 2018 - link

    All that's really missing is the admission that tinkering with the HPET settings crippled Intel performance, and gave AMD the lead which they would not have without having done so...; correct? :) (Nice attempted deflection with the 'someone at Intel told us it would not matter' spiel....!) :)
  • BikeDude - Friday, April 27, 2018 - link

    As a current Intel user, I'm more worried about what software is using this timer and how often I have been exposed to this sort of non-stellar performance.

    My next upgrade will take this into consideration. Best of luck to you all.
  • _mat - Thursday, April 26, 2018 - link

    Seems like the HPET bug finally gets the right momentum. Great!

    I finally wrote an English article about the HPET bug. There are a lot of misconceptions going on right now about that the bug is and what it's not. It also explains what the HPET timer problem was once, why it matters again today and which platforms are affected. Sadly this shows the way Intel handles bug reports like this as well.

    https://tinyurl.com/ybz8qygj

    Be sure to try TimerBench as well, my Windows timer benchmark! It has already been posted here so I won't bother you again (and the download is in the article).
  • Maxiking - Thursday, April 26, 2018 - link

    Good job, needs more attention so this Meltdown/Spectre bullshits die ASAP.

    The video was published on 23 Jul 2017.
  • AndrewJacksonZA - Thursday, April 26, 2018 - link

    You raised an important, IMHO, point:
    Do game engines use HEPT information in their logs, their AI calculations, their gfx calculations, and whatever else they do inside?

    Why this is important in my opinion, is because what will the users' experience be out of the box? They build their PC, they install Windows, they install the game, and then... do they disable or enable HEPT before they play? No, they run the darn game!

    We trust you to give us review results that would typically represent what we will get. Non-technical users also trust you to give them review results that would typically represent what they will get, no fiddling around because they don't know how and aren't interested to do so. Please take this comment into account when deciding if you're going to be flipping HEPT switches with every game on both CPU brands.

    ______________________________
    And hey, I didn't see it, but did you do any comparisons on if GPU maker makes a difference to the HEPT impact on CPU maker?

    Nvidia GPU + Intel CPU
    Nvidia GPU + AMD CPU

    AMD GPU + Intel CPU
    AMD GPU + AMD CPU

    AMD + AMD APU
    AMD + Intel APU
    Intel + Intel APU

Log in

Don't have an account? Sign up now