Systems die. They get old, run slow, are plagued with dust-invoked disease, and are inevitably retired. It's not always necessary to retire a gaming rig, though, despite being a fun excuse to play with new components; given a strong enough core, it's often easy to troubleshoot bottlenecks and replace the limiting hardware, potentially luring out another year or two of use.
Ignoring OS bloat and software failures that amount over years, as long as interfaces remain relatively unchanged, hardware swapping is the cheapest way to extend the life of your PC. This guide will explore what should be upgraded first and how to troubleshoot PC performance, bottlenecks, gaming and professional applications, and general testing techniques.
A more systematic approach to benchmarking your PC can be found in our pro benchmarking guide.
Finding bottlenecks in PCs and gaming rigs can be boiled down into a relatively easy-to-follow process:
Let's explore these steps further. This guide is written with high-end users in mind, to include gamers, professional developers, enthusiasts, and hobbyists who use intense applications (video production, code, 3D work, so on). Should any of these steps intimidate or confuse you, please don't hesitate to ask in our hardware forums, where our experts will provide detailed input on these topics.
This is the easiest step in the process. The goal is simple: What is it that you're unhappy about? That's it. There might be more to it than "X application loads slowly," though, so to expedite your discovery of underlying issues, I've compiled a short list of common issues (below). It's important that you list out all of the items that you'd like to improve - no matter how small - as there's no point in dropping $250 on a new GPU, then discovering that, in fact, there were hidden issues with the CPU. Be thorough in your definition of the problem.
This will focus more heavily on high-end applications and gaming. One final note -- your mileage may vary. Different programs will behave, well, differently, so take these as guidelines and not preeminent truths.
Issues that are commonly indicative of storage device bottlenecking:
Issues that are commonly indicative of video processing (GPU) bottlenecking:
Issues that are commonly indicative of CPU bottlenecking:
Issues that are commonly indicative of memory bottlenecking:
Again, it's a bit more complex than these items, but that will give us a solid starting point. Understanding basic computer hardware interactions will also help, but for the most part, you'll be bouncing things between the CPU, memory, and storage device (and for graphics uses, the GPU is also in the mix), so the motherboard and PSU can be mostly left to the side. Motherboard upgrades should mostly happen when new (required-by-you) interfaces or technology (USB3.0, IRST, SSD Caching) become available. PSU upgrades are best reserved for when the efficiency curve is breached on your PSU, as discussed in our Power Supply Specs Dictionary.
You'll find direct upgrade advice in component-specific sections below, after we go through the logical deduction phase.
In order to properly identify the root cause of dissatisfaction in a system, a top-level, simplistic understanding of hardware-software interactions is required. This section will give an overview of how common software archetypes (video editing, gaming and simulation, art and modeling) utilize hardware in different ways, hopefully helping pinpoint the bottlenecks in the chain.
First, a public service announcement: Mechanical hard drives severely limit read-write transactions when compared against now-affordable SSDs, like the HyperX we reviewed, Corsair's FORCE series, or Intel's excellent solid-state devices. A reliable mid-range SSD will, on average, easily write in excess of 10x faster than a stable (non-bursted) "standard" HDD (7200RPM, 16-32MB cache, SATA II/III) write can. We explored these numbers in our "do I need an SSD for gaming?" article, which mentioned that our tests found HDDs averaging 40MB/s - 60MB/s, depending on specs, as they are limited to the speed at which the header and platters can interact. SSDs, on the other hand, use electrons, NAND gates, and flash processing units (controllers) to read and write data significantly faster; it's not uncommon to see a consumer-grade SSD perform I/O operations in the range of 500MB/s, for instance.
What's the point of this PSA? Well, it's likely that you'll be upgrading to an SSD if you don't already have one, considering storage devices are undeniably the slowest component in the chain.
Down to business. First, a top-level understanding of chipset architecture is always beneficial, though not 100% necessary. To facilitate this, we've included a block diagram of Intel's popular Z77 chipset (above) and a flowchart of interactions (below); what you're looking at is a break-down of bridges, interfaces, and their communication lanes (buses) with regard to the Z77 chipset. The important bit here is to learn about how these components communicate, which will consequently inform your analysis of bottlenecked pipelines.
For instance, the CPU and high-speed memory communicate directly, constantly swapping, caching, and fetching data that user actions have demanded. You'll see that the CPU also connects to the PCH equivalent (what used to be the north bridge and south bridge) through DMI lanes, where it can send requests to be handled and dispatched; once the requests reach the PCH, they are shipped off to the appropriate devices. Let's follow that logic in a flow chart:
Each additional bus the data has to travel through is added time. How much added time? Well, for the most part, fractions of fractions of seconds. Really small. Infinitesimal. The only exception is magnetic storage devices, which have milliseconds-long seek times due to mechanical components. Those milliseconds are an eternity in computer hardware interactions (CPU: "Why are you taking me all day, hard drive?"), and even with as fast as SSDs are, they're still many-fold slower than the other devices in the system.
This is the exact reason Linus Torvalds recently referred to HDDs as "Satan."
HDDs aren't necessarily the root of all evil, though, so to clear that up: That's not it at all. They're the root of slow software interactions, but not necessarily the root of all bottlenecking. GPU performance will define graphics computations, RAM and the CPU will impact just about everything, especially computation- and buffer-heavy actions.
In general, video production pipelines will operate in a fairly universal manner: Encoding a video requires massive amounts of CPU power, and as most rendering utilities (like Adobe Media Encoder) will utilize all the CPU that you give to it, that means a stronger CPU will almost always directly benefit encoding. This is one of the few places where more cores, threads, and GHz will have a noticeable impact (unlike gaming, where 2-4 physical cores will do just fine). Next, it also requires banks upon banks of memory -- if you've noticed your RAM and CPU utilization spike to near-max when rendering, it's because the RAM is acting as a sort-of buffer for the impending write operations, which the storage device is likely struggling to keep up with. Having a reasonable supply of RAM (YMMV), for this reason, will also be beneficial, but SSD caching can also help to expedite the encoding process.
It's too complex to get into GPU specs here (we've done that before, though), but there are a lot of factors that could play into dissatisfaction with digital visuals. Access to new features that require hardware compatibility -- like DirectX 11, for example -- will hinge upon the GPU installed, as will 3D capabilities and advanced shading or complex real-time technologies.
If this type of information interests you, our "how to read a CPU die" article contains similarly-intriguing direction.
With some of this basic knowledge, it's time to poke around for the issues. Before throwing new components at the problem, try some of these troubleshooting steps:
Think through your problem. Given the information we've provided you in the previous sections, try to think about what would be related to or causing the issue that you're unhappy with. Is it slow file I/O? Slow graphics computing? Flickering visuals? Slow rendering? These might be indicative of storage, GPU, and CPU/RAM bottlenecks (respectively).
This is the easy part, but we will deal in non-specifics since everyone's build and budgeting options will be so widely varied.
Once the root cause is pinpointed, you've figured out what to upgrade first. The question, though, is whether it's worth it (in your situation) to upgrade that component or not. Here's how you can work through those two options:
Hopefully this helps. It'll all come down to money at the end of the day, but post comments and questions below or in our hardware forums -- we'll help you out on these topics.
-Steve "Lelldorianx" Burke.