The term bottleneck is everywhere when we’re talking about PC gaming performance. Bottleneck occurs when there is a restrictive element holding back the performance that could otherwise be achieved. If you’re just getting started with planning your first PC build this might be a hard concept to grasp and that’s why this bottlenecking explanation is very important. When you are dealing with bottlenecks it is important to know why one would happen, how to find them and most importantly how to avoid them.
The name “bottleneck” comes from the way that fluid flows much slower through the neck of a bottle than it would if that neck didn’t exist, hence another word for a bottleneck is a choke point. For example let’s turn a bottle full of water upside down and open the lid, the water is flowing out of the bottle but only at a rate at which the bottle opening will allow, the wider the opening is the faster the water will flow out of the bottle and the smaller the opening is the water will flow a lot slower. Imagine that instead of water we have frames and these frames are being displayed onto your monitor, displaying the frames is of course your PC but let’s stick with the concept of a bottle for now. The opening of the bottle can represent any component in your system that may restrict the number of frames that could potentially be displayed.
The easiest way to explain this is as if you take a very old computer and assuming it’s even compatible you put the very latest thousand dollar graphics card in it the PC. The PC is not going to slow down and the gaming performance will most probably be improved but that card won’t reach it’s highest potential even though the new card might be ten times faster than the old one. Depending on the bottleneck you may only get a small performance increase because the CPU, memory and potentially other components are so slow that they can’t feed the graphics card data at a fast enough rate to keep it busy.
The most common bottleneck that you’ll see in PC gaming is a CPU bottleneck, meaning that your CPU will be restricting the potential number of frames being drawn from your GPU. The simplest explanation for how this happens is that your CPU is just not powerful enough to keep up with your GPU but let’s dive a little deeper and take a look at what’s really going on.
Let’s say that we have a game being rendered at 60 frames per second which is equal to one frame every 16.67 milliseconds. The CPU in addition to many other tasks has to prepare sending a draw call to the GPU which means it is sending some data such as texture and shaders whilst also rendering objects and buffers on the next frame which is to be rendered. The GPU renders this frame and it’s then displayed on to your monitor when it receives the next frame which is to be rendered and while that’s rendering the CPU is already on the next frame for the GPU so here we have no bottleneck and that’s because the CPU is preparing the frames faster than the GPU can render them.
As mentioned earlier, in case the CPU is on the weaker side then the GPU will be rendering frames faster than the CPU can prepare them and this right here is the bottleneck. Your GPU could be utilized 100% if your CPU was more powerful but in this case it spends some time idling and not rendering frames because of this bottleneck situation. Let’s say a GPU can render frames every 16.67 milliseconds, but the CPU needs 25 milliseconds to prepare them, now in this 25 millisecond duration the CPU is doing a lot of work in addition to preparing the frame data for the GPU it also needs to process other things such as any AI game logic physics and of course any other background tasks that may be occurring in other programs.
All these tasks increase load on the CPU and can therefore increase the amount of time that it takes to send a draw call to the GPU. Essentially, this is why some games are more CPU intensive than others, such as Battlefield 1 which is quite CPU intensive seeing as there is a lot of network data, game logic and physics to handle whereas riding your horse through a forest in Witcher 3 is a lot less CPU intensive.
Despite CPU bottlenecks being a bad thing when it comes to gaming, a GPU bottleneck is actually desirable. Essentially what this means is that your CPU is processing all of the game and frame data faster than your GPU can render it which results in 100% utilization of your GPU. At first this sounds bad, but because the GPU is what renders and displays the frames to your monitor in the first place and the fact that it’s rendering 100% of the frames that it possibly can is a good thing and it’s exactly what you want when you’re gaming.
BOTTLENECK REDUCTION TIPS
There are of course a few things that can reduce CPU bottlenecking in your system and improve GPU utilization in gaming if it isn’t at 100% and the first and most obvious one is to close any unnecessary background programs that you have open. By doing this you’ll be able to reduce the load on your CPU and hence process game data a lot faster, this also means that those draw calls that we were talking about earlier will now be sent faster by the CPU as it’s now under less total load and this means that your GPU won’t be waiting around as long for draw calls. Another quick tip is to overclock your CPU if possible because it’ll be able to process the game data a lot quicker which in turn means higher GPU utilization. To test for bottlenecks you should refer to our PC bottleneck calculator, in case you find out that your rig is being bottlenecked it may be time to upgrade the outdated parts.