A bottleneck is a limiting factor.
A system only works as well as it’s worst part. In a bottle, the narrowest part is the neck so liquid can only flow out at the speed the neck will allow.
In your case, even though your GPU is good enough to deliver much higher performance, your cpu is not. The performance can only be as good as the cpu can handle despite your GPU being capable of more. The cpu is the bottleneck limiting the flow of performance.
Your classmates George and Harold love to write comic books about their favorite underwear wearing superhero. It takes George an hour to write the story, and Harold half an hour to draw the pictures. By working together, how fast they can finish comic books? The answer would be one hour a comic book, because it takes George the full hour to write the book, and Harold can spend half an hour to draw the pictures and he can take a break while waiting for George the finish. If you ask Harold to draw faster, could the team finish comic books faster? Not really, because even if Harold was finished drawing quicker, he still has to wait until George finishes writing, and that takes an hour. In the end, the comic books can only be written as fast as the slowest member of the team.
In your computer, your CPU is the slowest member of the team, so no matter how fast your graphics card is, your computer stays about the same speed. We call that bottlenecking because water can only flow through a bottle as fast as the narrowest part of the bottle. When you are playing a computer game, your CPU does things like tell all the characters where to move, and then the CPU tells your graphics card where the characters currently are so your graphics card can draw each pixel on your screen to show that to you.
If you have one injured leg and tried to walk you would have a hard time. Essentially that’s the problem here. For a game to run you need both CPU and GPU to make calculations, if one of them is significantly slower than the other, it will slow down the game to whatever speed the slowest component is.
A bottleneck is a choke point, a part of a process that limits the throughput of the system. Every system has one, it’s not inherently bad, and sometimes it’s intentional.
In your case it means that your GPU is limited by how fast your CPU can provide instructions to it. If you’re happy with the performance you’re getting, you might’ve paid too much, but that’s not a problem. If you want better performance, getting an even better GPU won’t fix it, you’ll need a better CPU instead.
Imagine GPU as painter and CPU as a director: if system is balanced, director sends just enough requests to the painter so that painter is always busy painting and director is busy prepairing new orders. If CPU is bottlenecking, painter paints too quickly and stays idle, while director has trouble prepairing orders quckly enough and is always busy prepairing them. Painter could paint more, but it cannot without directions on what to paint. If GPU is bottlenecking, director has to spend time doimg nothing waiting for the painter to finish, before giving him a new order.
when you’re thinking about any given process – the “bottle neck” is the thing that limits speed/performance.
Think of the metaphor – a bottle.
If you try to pour all the liquid out – typically you get a slow “glug-glug-glug” type effect – which is because the opening of the bottle (i.e., the “neck”) is too small to let the water and air flow smoothly in and out of the bottle. So in this way it serves as a “bottleneck” slowing down how fast the process can go.
So now, in general – if some process is limited by a particular factor – e.g., supplies or the time to do a particular step – that limiting factor is referred to as a “bottleneck”
Latest Answers