A performance bottleneck is when the hardware in a computer system is completely taxed, causing a performance limitation. A common example of this is pairing a relatively weak CPU with a relatively strong GPU and when running a game, its performance isn't as good as other people are getting. As the game logic needs to be figured out before rendering the world, if the CPU spends too much time figuring this out, this limits how many times the GPU is told to render something.
Please note: If you're worried about performance bottlenecks in your system, don't be. There's always a bottleneck in a computer (without one you would have literally infinite computing power, which is impossible). Instead, set a reasonable, well-defined performance goal (e.g., 60 FPS at 1080p on "Medium" graphical settings) and start worrying if your computer isn't reaching that.
An example: The lifecycle of running a video game
A video game, especially one developed with a big budget, tends to stress most parts of the computer at some point. Obviously the CPU, GPU, and possibly RAM are all taxed, but certain games will also constantly look at storage to swap data in and out. This makes it a useful example to look at when discussing performance bottlenecks.Let's take an action game, such as a First Person Shooter. The game runs the following steps:
- Process the player's inputs (this may not happen every cycle, such checking 30 times per second while the game logic runs at 60 times person second)
- Run the logic that needs to happen ("Did an event happen? If so, run A. If not, run B")
- Perform AI routines
- Perform physics calculations and collision detection
- Run the logic that should happen after the previous two steps ("Did this NPC run into a wall?")
- Process the audio
- Package up what needs to be shown on screen, then send this to the GPU to render
There's a concept of in-game time vs. real time as well. That is, the game is designed to run at a certain rate. If the game doesn't run at this rate reliably, the game starts to appear running faster or slower than real-time. Early video games were typically programmed on computers with only one configuration, so time keeping wasn't a problem. But as computers allowed more configurations, this meant that the CPU speed is not guaranteed, and if the game didn't account for this, the game could run faster or slower. This is prominent in early MS-DOS games programmed for the original IBM PC. When ran on a computer today, they run so fast that it's impossible for a human to play.
To combat this, most games today run at a fixed rate. If the CPU completes the work sooner, the CPU doesn't run the game logic code until the next interval. If the CPU is a little late, it may spill into the next interval to complete the tasks. The breakdown comes if the CPU is always significantly late.
How does hardware limit performance?
Each component affects game performance in some way. Here's the breakdown of that:The CPU
The CPU determines the absolute maximum performance, because it is what runs the program and tells every other component what to do. Not only will a more powerful CPU complete the game logic tasks quickly, but it can also send more render commands to the GPU. However, the factor that matters more in this regard is the performance of each core, rather than how many cores that are available. As of 2024, either by design or because the tasks performed are still light, most games won't see a benefit on CPUs with more than six cores. If you're multitasking on the computer, such as doing live streaming, having more cores can help reduce the performance impact in games.The GPU
The GPU determines the performance you get based on image quality up to the maximum performance that the CPU can deliver. For example, a powerful CPU may be able to generate 300 FPS, but its integrated GPU may only achieve 60. By using a faster video card, the computer could achieve up to 300FPS, at which point the CPU becomes the bottleneck. The GPU does the number crunching that makes the graphics work, but it has to be told what to do by the CPU.Of particular note is how much VRAM the video card has. The biggest impact VRAM capacity has to performance are the rendering resolution and the size of textures used. Once VRAM becomes full, it can cause stuttering as the GPU waits for data to become available in VRAM. Though note that VRAM usage is a nebulous thing; games may cache data and shader routines in VRAM and take advantage that system RAM can be used to offload lesser used data. But if VRAM is full and stuttering is an issue, then that's an indication there's not enough VRAM for the settings you want.
RAM
RAM may have an effect of performance depending how sensitive the system is to memory bandwidth and RAM timings. If you're using an integrated GPU, faster RAM has a measurable performance impact. CPUs generally see improvements using something faster than the slowest RAM available for it. e.g., using DDR5-6000 instead of DDR5-4000 generally shows improvement. RAM timings may also help with minimum frame rates as well. How much RAM you have only matters in the sense that as long as the computer isn't running out of it, it's fine.In general, focus on getting enough capacity first as running out of RAM is just unpleasant all around. Then get something with a higher speed rating, then something with the fastest timings.
Storage
Storage devices such as hard drives and SSDs generally affect load times to a certain point. After that threshold is met, it's generally CPU performance that takes over as the application still has to set everything up. For games that stream data, such as open world games, having storage with faster seek times may help with performance. However, modern games try to make this a non-issue by loading in lower quality assets first which are fast to transfer and load in higher quality assets later. While this causes pop-in, this also avoids hiccups where the CPU or GPU is waiting for some asset to be loaded.The Internet/network
Networking usually doesn't affect in-game performance. However, if there's a significant delay between your computer and the server, this does degrade the game play experience by "freezing" the world before it catches up.Power supply
This is a case of having enough for what your components need to function normally. A 1000W power supply will do nothing extra for a computer that only needs 200W. Higher end components need more power fed to them, and some headroom is useful because the demand from hardware can spike, sometimes well above the nominal power rating of the component.For example In other words, thinking you only need a 500W power supply with a 300W GPU and a 120W CPU, plus other components, is a bad idea. Generally, you should aim to have at least 200W of headroom for normal operations, more if you plan on upgrading in the near term. If you're aiming for efficiency, make sure to get at least an 80PLUS Gold or Titanium rated supply and a capacity where your typical usage is no more than 60% of it.Regarding laptops, most laptops made in the last 10 years are smart about how much power they'll draw. The adapters for laptops are actually somewhat smart in that they communicate with the laptop about what kind of power supply they are. If the laptop finds out it's plugged into an adapter that can't provide as much power or it can't figure it out, it'll either reduce how much power it draws, draws additional power from the battery, or just draws power from the battery. However, it's important if you're buying a replacement power adapter to get something from a known brand if you can't get an original one. It's not unreasonable for a random third-party knock-off to cut corners and tell the laptop it can supply power that the adapter really can't.
Cooling
Where cooling comes into play is keeping the parts at at their safe operating temperature. If the cooling system can't do this, then the part will start reducing its clock speed and other features to reduce the power consumption. Otherwise, if allowed to get hotter, silicon based chips exhibit something called thermal runaway at around 160C, which will cause a catastrophic failure event. Almost all high performance chips since the mid 2000s are programmed to shut down if it notices it's still at 100C and slowing things down still isn't enough. So you won't ever see temperatures get to the thermal runaway point. Higher temperatures can cause instability though. Overall, cooling only matters to achieve a base performance level, anything beyond that is extra.There were some practical reasons to get better cooling as up until the 2010s, enthusiasts were configuring their hardware to bump up the clock speed since this was the easiest way to gain more performance. Higher clock speeds mean more heat, so better cooling is required. But with the right setup and for not a whole lot of money, people could gain a respectable performance bump.
In the 2010s, hardware manufacturers took note of all the performance this was leaving on the table, and implemented what we might call opportunistic overclocking. Vendors often have their own term for this, usually something along the lines of "boosting" like "GPU boost". This works by looking at multiple factors such as the temperature of the chip, voltages, workload, available power, etc. and if the right conditions are met then it will increase the clock speed automatically, until it reaches pre-defined limits set by the manufacturer. These limits can be overridden either in the motherboard settings or other software. If something changes such as temperatures reaching a threshold, it can slow the chip down again to keep it within limits.
All this said, improving the cooling to remove a bottleneck is only really practical for the average person if thermal throttling is taking place.note An important note is when thermal throttling is taking place, as both AMD and Intel since the Ryzen 7000 and 13th Generation Core processors respectively prioritize hitting the thermal ceiling first before dialing back its opportunistic overclocking. Which means it's now expected for those processors under heavy load to hit 85-90C. Users wanting more performance are better off buying higher end components instead of bothering with overclocking. Not to mention, the headroom for manual overclocking these days is so small thanks to how good automatic overclocking has gotten that it's mostly for bragging rights.
Better cooling does also allow for more powerful components to be used, since the increased power they draw will always end up as heat that needs to be rejected. The short version? Have a cooling setup that allows your selected components to operate within the required temperature ranges and only worry if it's not up to the job.
It's also worth pointing out that dust build-up is a big cause of thermal throttling, and giving heat sinks, fans, and vents a blast of compressed air every now and then will keep everything functioning nicely. It can also mean the fans stick at lower RPM, meaning less noise, especially when you're sitting there reading tropes pages or something, or doing other low power tasks. Seriously, go and get a can of the stuff, it's cheap.
Overclocking
Overclocking is making a component run faster than its rated speed, and technically any component bound to a clock speed can be overclocked. The main components for overclocking are the CPU, GPU, and RAM, though there are a few others.
So let's get the obvious question out the way: if you can make a component run faster, why don't we do this to begin with?
The first reason is reliability. Every chip has slightly different performance characteristics due to variances in manufacturing. In other words, some chips are better than others, and might run cooler or have a higher max clock speed. Manufacturers are not trying to sell chips that all operate at the maximum limits of the hardware, they are trying to sell a product that meets certain performance and market criteria and achieves an economic yield note . Consumers know what they are getting. Retailers know what they are selling. Trying to sell a chip by its own unique specification would be a nightmare, so a product is shipped where they all do what they say they will (and if they don't it's faulty and can be replaced).
Chips also degrade over time due to heat and voltages. A chip might be able to be overclocked by say 20% when brand new, but after a year of use start malfunctioning at those speeds. The product being sold needs to be stable under a reasonable lifetime. When you go outside this specification, there are no guarantees. The enthusiast community has come up with their own tests for reliability over the years, but it will never be as thorough as the tests the manufacturer can do, and you are the one who will be carrying out the testing. As an example, you might run an extreme torture test for 24 hours to confirm a CPU is error free, this is still not a guarantee as it may not stress all aspects of the chip/system; thorough coverage is very challenging to achieve.
The second are the two related aspects of temperatures and power draw, and the wider reason of power efficiency. Power used scales linearly with the clock speed. However, due to the tighter timing tolerances and other considerations, at a certain point the voltage needs to be increased as voltage allows for a wider channel in the transistor, and thus more current flow needed for faster switching. However, power also scales with the square of voltage, so this quickly becomes a limiting factor because physics limits the heat that can be rejected, and at a certain point you get massive diminishing returns when you hit the absolute limits of the silicon.
That extra power directly costs you money on your electricity bill, but it also means fans run faster and noisier, rooms heat up more, batteries drain faster, and higher temperatures shorten the lifetime of components (though with modern hardware this hardly matters, since you will probably replace it well before you hit the end of the lifespan).
As a sort of analogy, people in the past asked if the speed limit on roads is much slower than the maximum speed of cars, why don't they make cars whose maximum speed, without using some sort of governor, is close to the speed limit? The answer is because if the operating speed were close to the maximum speed of the engine, it would wear itself out much faster and consume a lot more fuel doing so because it's near redline RPMs. Engines in Formula One cars experience high-RPM operations constantly, but they only last a small fraction of the miles that a typical sedan would last with proper maintenance.
As mentioned above, these days many CPUs and GPUs will overclock automatically within reason. However, it may be possible to trade the headroom and the downsides for increased performance.
In practice, just buy a higher end component, where you're guaranteed a performance level.
Benchmarking
Benchmarking is the act of running a workload, usually the same or a standardized one, to determine the computer's performance in some aspect. With regards to games, some games have a built-in benchmark you can run usually buried in the options menu. Others may have a script (e.g., Quake's time demo), launch option (Crysis), or a separate application (Final Fantasy XIV). Many benchmarks give you a single number: the average FPS. Some benchmarks provide more detailed results, such as the lowest FPS or how much time the CPU and GPU spent rendering a frame.In addition to game benchmarks, you can also use so-called synthetic benchmarks such as 3DMark. They're called synthetic in that they represent what games may do with the hardware, but with the benefit that the playing field is leveled. That is, some developers may ask a GPU manufacturer for help optimizing their game for their particular hardware in return for logo advertising, making the game likely run better for GPUs from that manufacturer. Synthetic benchmarks on the other hand typically don't have any manufacturer-specific optimizations. In fact for 3DMark in particular, its developer stated that none of the main GPU manufacturers wanted it for the product note .
To determine if the CPU or GPU is the part limiting the performance of the computer, run the benchmark or game at the lowest graphical settings, including the resolution. This puts the lowest possible load on the GPU, so this will give you the highest performance achievable from the CPU. If this value is roughly the same as the performance at the graphics settings you normally use, the CPU is the limiter here. There's no real magic number between the maximum performance and the performance you're getting now to say when to upgrade: it's still totally on you and what helps you sleep at night.
Though keep in mind that a lot of games have an FPS limiter, such as Source Engine games having a limit of 300 FPS by default. If you're hitting what looks like a convenient number, you may need to find a way to change the FPS limit or find another benchmark. However, set this back once you're done as most games behave weirdly if they're ran with an FPS much higher than their default limit. In addition, make sure you don't have V-Sync enabled, as this also caps the FPS to what your monitor's refresh rate is.
