Bottlenecks for Beginners

THW is always in need of bottleneck explanation, so here is my take on the subject matter.

Your "bottleneck" will be dependent on the software you run and your display.

For gaming:

Your CPU handles the game engine and will be able to make a certain amount of frames per second.

Your GPU handles the pixel shading and post effects based on resolution and detail settings and can make a certain amount of frames per second.

Your monitor has a resolution and a certain refresh rate. Ideally you want your FPS to match your refresh rate. Whichever of the CPU of GPU cannot handle the workload to make said FPS in that game/application then it is the "bottleneck".

Overclocking your CPU core frequency can help alleviate some CPU bottleneck by increasing the performance of the CPU.

Overclocking your GPU core frequency can help alleviate some GPU bottleneck by increasing performance of the GPU.

You can also have bandwidth and latency bottlenecks.

Some intensive applications require high system memory bandwidth to get the most performance. Using higher speed RAM (or overclocking RAM) can help this.

Reducing memory latency and CPU cache latency can also help with getting more performance in CPU demanding tasks. Overclocking the CPU's memory controller (AMD CPU-NB), can help reduce memory latency as well as L3 cache latency. Tuning in lower RAM timings also directly lowers memory latency.

Graphics cards can also have video memory (VRAM) bottlenecks. The easiest way to alleviate this is by overclocking your VRAM. Be careful not to take it too far or errors can cause performance to actually decrease. Of course you can also lower your graphics detail settings such as anti-aliasing to reduce VRAM loads.

Another graphics card potential bottleneck is PCI lanes, but I won't be covering the difference between PCIE 1.0, 2.0, 3.0, and x4/x8/x16 just yet. I'll make that information available at a later date, but be aware of the specifications.

Remember, every application has it's own unique performance demands. Also not everyone's rig is the same, and neither is their monitor. All these factors make it impossible to generalize any "bottleneck" so if you read someone randomly throwing the term "bottleneck" around without knowing your system specs, your monitor specs, and what application you are running you should be very skeptical of their advice.