Jack. The CPU waits for the GPU and the GPU waits for the CPU. They bottleneck eachother because they will always wait for each other. If you have a processor that is running at 1 GHz and compares this with a processor that is running at 2 GHz, Then the 2 GHz processor will perform the CPU computation twice as fast. But they still needs to wait for each other and if you call this waiting for bottlenecking then they will both bottleneck the other. The 1 GHz CPU is a bigger bottleneck compared to the 2 GHz cpu but they both are bottlenecks. The video card is also a bottleneck. ALL is bottlenecks.

What I don’t understand in these discussions is why you just talk about one of the two. Slower memory compared to faster memory is also something that both is bottlenecks but the slower memory will be a bigger bottleneck compared to the faster memory.

The video card will always perform as fast as that video card can when data has arrived. It doesn’t matter which processor that is feeding the video card with data. If it is a slow processor it will need to wait a bit longer before has arrived but when the data is there the speed is the same.

When someone say, this cpu is bad for the video card you might think that the videocard will work more slowly. It doesn’t, it will always work at the same speed. The only think that works more slowly is the processor if it is a slower processor. But the video card needs to wait for the processor, it doesn’t matter if the processor is slow or fast.

About Intel compared to AMD they are good at different things. These processor are built differently. And when AMD is better compared to Intel or Intel is better compared to AMD depends on the type of code they are running.
If you read some game code you will se that most games are thinking more of the Intel processors in order to avoid slow areas for that processor because Intel is a much more common processor.
The strong area for Intel is the HUGE L2 cache and the weak area is communication (high latency). Things like branch prediction etc does very little to total performance. And this is a more important feature for Intel because intel is sensitive for external communication. All processors has branch prediction and all processor handle the most common case best. That is that the branch condition isn’t taken. I think that almost all more advanced programmers know this.