Category Archives: Builds

HPET Bug and PlanetSide 2 Performance

To properly function, any computer system must be able to accurately measure time. A typical Windows PC has several ways to do so, and using HPET – high precision event timer – is one of them. 

HPET is most precise timer available to the system, but whole generations of CPUs are affected by what’s been called “HPET bug”: for them, accessing HPET takes ~7 times longer than it should. Similar to Meltdown and Spectre, this is a hardware issue, and cannot be fixed entirely. 

Skylake X and Kaby Lake X have the worst of it, but it seems to also affect Threadripper, Coffee Lake, and Ryzen.

You can read all the technical details in these articles:

  • Anandtech – explains where it all began and gives a thorough explanation of system timers
  • Overclockers.at – has a shorter summary and a specialized benchmark to highlight the issue

By default, HPET is simply on the list of the available timers in Windows 8 and 10. Different timers will be used for different purposes, which is the best case scenario. 

However, certain pieces of software, such as Ryzen Master and potentially anything related to overclocking, benchmarking or monitoring hardware, can force HPET to be the only timer used by the system. This may be necessary for the normal operation of that software, but on the systems that are affected by the HPET bug, it can lead to a decrease in performance, sometimes quite significant. 

HPET Configuration

HPET can be configured in two places:

1) On some motherboards, HPET can be Enabled or Disabled in BIOS.

2) Windows Command Prompt can Force HPET to be always used as the only timer, or you can set Default Settings.

So there are four total combinations of these settings:

1) Enabled in BIOS, OS uses Default Settings: HPET will be used as necessary. This is the desired configuration.

2) Enabled in BIOS, Forced in OS: HPET is always used. If your system suffers from the HPET bug, this is where performance problems occur.

3) Disabled in BIOS, OS uses Default Settings: HPET is not available at all. 

4) Disabled in BIOS, Forced in OS: HPET is not available at all and there could be a performance impact.

It is not recommended to keep HPET Disabled in BIOS, as it can cause stability issues. Additionally, if HPET is Forced in OS and Disabled in BIOS, it can result in skipped frames or otherwise impact your performance.

How to configure HPET through Windows Command Prompt:

If the command you entered has successfully changed something, you will get “operation successful” message. If the command was already active, then you will get an “error occurred” message.

For Intel

Use the Command Prompt to set HPET to Default Settings. If you get “operation successful” message – congratulations, you are likely to get increased performance. If not – too bad, not today.

For Ryzen

During Ryzen launch, there was a pronounced issue with HPET, and AMD gave an official recommendation to disable HPET in BIOS. However, those issues were supposedly resolved.

To find out whether your system benefits from completely disabling HPET:

  1. Update your BIOS to the latest version.
  2. Use the Command Prompt to set HPET to Default Setting. Restart your PC.
  3. Run the TimerBench at low resolution with HPET Enabled in BIOS.
    • Do not click “Enable HPET” button in TimerBench, as it will force the system to always use only HPET, which is not desirable.
  4. Run TimerBench with HPET Disabled in BIOS.
  5. Compare results. If you see no difference, then keep HPET Enabled in BIOS and set to Default in OS.

A note on TimerBench: you can see a “Enable HPET” button, but it doesn’t actually enable HPET, it forces the system to always use HPET in all situations, which will cause a performance drop if your system is suffering from the HPET bug. This is the same as Forcing HPET through Command Prompt.

Similarly, the “Disable HPET” button in TimerBench does not actually disable the HPET. It does the same thing as setting Default Setting through Command Prompt. Only the BIOS setting can truly disable HPET.

My Benchmark Results

I’m using a Core i5 7600k, overclocked to 4.4 GHz on MSI Z270 Gaming M3 motherboard. I ran two sets of benchmarks, one with TimerBench – a benchmark produced by Overclockers.at to specifically demonstrate the performance impact of the HPET Bug.

I also ran a primitive benchmark in PlanetSide 2 – I just drove a Prowler near a tower in VR Training and fired HESH shells and Gatekeeper bursts for a minute, using FRAPS to record frametimes and these graphics settings.

As you can see, on my machine the performance impact of the HPET bug is quite significant.

According to that article from Overclockers.at, how much your particular system is affected by HPET bug – if it all – will depend on your specific hardware and what kind of games you’re playing. The impact seems to be most noticeable when your game is CPU-bound – paired with an overly powerful Graphics Card, in other words. This is a fairly common situation for PS2.

Credits

Huge thanks to /u/Oottzz for bringing this issue to my attention and to /u/DastardlyCoxcomb for his input in the same thread.

Typical PC Builds I recommend for PlanetSide 2

I haven’t posted anything on this topic for a while, but there were actually a lot of customers asking for help building a PC for PlanetSide 2 and other games. 

PlanetSide 2 is an MMO game released in 2012, with potentially hundreds of players in any given battle. As a consequence,  PlanetSide 2 puts more load on CPU than most games, and it’s less demanding to the Graphics Card. It is built on DirectX 9, which is more sensitive to CPU frequency and per-core performance than number of cores and multi-threading. 

PS2 Performance Guide

Depending on the amount of money they were willing to spend, I would offer them one of these typical builds, and then adjust it based on their wishes. Here they are, from cheapest and worst performing to most expensive and best performing.

Notes on listed prices:

  • They will vary a lot depending on where you live.
  • Prices include only the PC itself. Keyboard / Mouse / Speakers / Headset / Monitor / Windows are not included.
  • Prices assume a “barebones” build, so no SSDs or additional case fans. Cheapest case is used, which won’t be very convenient to build and maintain. 
  • Stock CPU cooler is used whenever possible.
  • Motherboard / Graphics Card and Hard Drive are selected based on good combination of price / performance / reliability / amount of features / upgradability. I don’t just blindly pick the cheapest components.

Finally, keep in mind that prices and recommendations are actual as of July 2018, and will no doubt change with time.

Ultrabudget

Ryzen 2400G Build

Approximate build cost: $420 USD
RAM: 8 GB

This is the cheapest build that can run PlanetSide 2 at all. It will require a lot of fine tuning and overclocking to squeeze the most performance out of weak hardware. There will be some tough compromises to make in terms of graphics settings, but you might squeeze more or less stable 60 FPS out of it.

The heart of the build is Ryzen 2400G CPU, which has 4 cores / 8 threads and comes with an integrated Vega 11 GPU and a stock cooler.

This is the second generation of Ryzen CPUs. The first generation featured a lot of cores and threads for considerably lower price than what Intel was offering at the time, and at first AMD razed some hell for sure, but gamers quickly realized that 1st gen Ryzens had poor per-core performance, and most games don’t benefit from multi-threading THAT much. So Intel remained better for gaming, while Ryzens offered a lot of cores for professional applications that benefit from such things.

The second generation of Ryzen CPUs (2000 series) improved upon many imperfections, and flagship Ryzen CPUs are a much better competition to similarly priced Intel CPUs.

Unlike Intel CPUs, Ryzens don’t typically come with integrated graphics, but 2200G and 2400G are exceptions. They use a cut-down version of the Vega GPU, which is the best GPU currently offered by AMD. 

Typically, integrated graphics solutions are looked down upon by gamers, and rightfully so, but AMD was having none of that. Integrated Vega GPU is several times more powerful than iGPUs from Intel, and you can actually do some gaming on them.

It’s not quite enough to run PlanetSide 2 well, but it will work. Here is a testimony from a player with a similar build.

Entry-level Gaming

Core i3 8100 / Ryzen R3 1200 + GTX 1050 Ti / RX560

Approximate Intel + nVidia build cost: $550 USD
Approximate AMD build cost: $530 USD
RAM: 8 GB

This is the cheapest build that can run PlanetSide 2 at minimum settings with actually decent performance. Aside from intermittent performance bugs, you’re guaranteed stable 60 FPS no matter what, and you could potentially even turn certain settings up so the game doesn’t look that terrible.

Intel + nVidia build offers better performance out of the box, and doesn’t require overclocking or any additional fine tuning. Heart of the build is Core i3 8100, a budget 4-core / 4-thread CPU. GTX 1050 Ti is middle-of-the-road budget graphics card. It is said to be able to run many modern games at medium settings at 60 FPS, and it handles PS2 just fine. 

The Ryzen R3 1200 is similar to Core i3 8100. It too has 4 cores and 4 threads, but worse per-core performance and doesn’t include an internal GPU. However, it is cheaper, and with some overclocking – which can be done with stock cooler and on cheap B-series motherboards – it can almost reach the performance of i3 8100. This build makes more sense if you plan to upgrade to a more powerful Ryzen CPU in the future.

The RX560 offers about the same performance as GTX 1050 (the non-Ti version). Depending on current prices and availability, it can potentially make a more economical choice. AMD Graphics Cards can be preferable if you use or plan to use a monitor that supports FreeSync technology.

PlanetSide 2 Specialist

Core i3 8350k + GTX 1060 3GB

Approximate build cost: $700 USD
RAM: 8 GB

This build tries to achieve the best PlanetSide 2 performance while spending as little money as possible. It can easily run PlanetSide 2 at mostly maximum settings and with 100+ FPS, but there are significant tradeoffs in terms of future proofing and convenience.

The i3 8350k has 4 cores and 4 threads, and it can be overclocked by multiplier, significantly boosting its per-core performance. It’s one of the most powerful 4-core CPUs out there, like a small racing car. Exactly what PS2 needs. 

However, it’s not optimal in other ways. It doesn’t have a stock cooler, costs almost as much as 6 core i5 8400, and requires a more expensive Z-series motherboard in order to be overclocked.

The GPU is GTX 1060, which is often called the best Graphics Card for 1080p gaming. The 3GB version is chosen because PlanetSide 2 barely uses 1 GB of VRAM.

PlanetSide 2 faces some nasty effects when GPU-bound – weapon Rate of Fire is reduced and you can feel some input lag. Which is where the GTX 1060’s powerful processor comes in, pushing out the framerate at which you become GPU bound.

The big downside of this build is that it’s not so great at playing modern and upcoming games; it’s not future proof. 3GB VRAM / 8 GB RAM / 4 CPU threads may not be enough in the nearest future.

Another downside is that you will have to overclock the CPU, which is an additional step you have to go through, and it can potentially have negative effects, most notably it will void your CPU warranty. 

Mainstream Gaming

Core i5 8400 + GTX 1060 6GB

Approximate build cost: $800 USD (including $300 for a GTX 1060 6GB)
RAM: 16 GB

This build tries to reach a healthy compromise between running PlanetSide 2 and more modern and upcoming games. With more RAM, VRAM and more CPU threads, it’s much more future-proof at a little premium, and it would run PlanetSide 2 almost as good as heavily overclocked i3 8350k build above, without any need for complicated fine-tuning or using an after-market cooler.

I believe this build accomplishes all you could ever want for 1080p gaming while spending a sensible amount of money. PC hardware is heavily subjected to diminishing returns; for every extra frame per second you have to pay more and more money.

For example, a typical GTX 1070 costs ~66% more than GTX 1060 6GB, while offering 30-40% better performance. This is even worse for CPUs, where an i5 8400 can accomplish in gaming 90-95% of what an i7 8700k can do, which is twice as expensive.

So past this point it’s better to invest into quality peripherals and other components, such as SSD and case.