The determination is based on if at the settings you use a faster processor would net you more then a 1-2% increase in performance. Another way to say it is if you are playing a game and your GPU is running consistently under 100%, because usually it's the CPU holding it back (but not always, so when possible use the first statement).
Generally people tend to run in a GPU bottleneck situation unless you have specific refresh rate requirements. You find a setting where your card is getting worked out (running a comfortable FPS). It allows for a better looking game. Games haven't been pushing video cards as of late so unless you have something slower than a 1060, chances are you are CPU capped at 1080p. Dependant on the game it can swap back and forth on 1440p, and on 4k pretty much consistently GPU capped.
Look at the reviews for your intended resolution for that CPU. That will tell you if the CPU or the GPU is the bottleneck. If every CPU is stuck at 60FPS. Then the GPU is the bottleneck. If the performance scales with a fast CPU. Then the CPU will be the bottleneck.
I have a 7700K. When looking at these reviews, a lot of games are still GPU bottlenecked on this CPU at 1440p.
You have to keep in mind that the location of the bottleneck in your system is going to change depending on the game/program. It's not as simple as "X CPU always bottlenecks Y GPU," unless you're talking about pairing a really underpowered/old CPU like a Celeron with a top-end GPU like the RTX 2080 ti or something equally stupid.
You also need to keep in mind that some games are frankly garbage code and there are certain scenarios where the CPU basically always becomes the bottleneck no matter what you do. You shouldn't worry to much about this.
If you're trying to keep your overall budget down, go for the Ryzen 5 2600 for your CPU. If budget's not a concern, go for the i7-8700K. After that, just pick the GPU that you need to hit your resolution/frame rate target.
It can be very hard to say. I was having trouble with BF1 at times and did not really know if it was my CPU or GPU. There was a marked difference between my 4 core i5 at stock and overclocked, but I was also maxing out my GPU.
I just did the platform upgrade and now have a 2600X. The difference is huge! Only the most demanding parts of the nicest maps cause slowdown now and it is still very playable. I actually turned up a few graphics settings and plan on keeping my video card a good bit longer now.
BF1 with 64 player maps is notoriously CPU intensive though. But, I am also running at 1440p, so graphics were stressed.
Truth be told, if I really wanted to find out, I could have ran at say 50% resolution and see if I still had slowdown. I guess what I am trying to say is that if you have a fairly matched CPU/GPU, it can be both, but maybe one more than the other.
It will vary wildly from game to game. I have a Ryzen firstname.lastname@example.orgGhz and a Vega 56 and a 144hz freesync display.
On Crysis 1(a very very very poorly multi threaded game) i can usually pull 100-110fps but GPU is only running 70-80% usage, CPU is holding it back from a full 140FPS, even though i have 6 cores of my CPU sitting around doing literally nothing, and only 1 of the two being used is over 40% usage. Bottom line is crysis 1 is a total crap optimized game.
On other, well threaded games, i can watch my CPU sit at 10-20% load each core not even breaking a sweat or having the CPU fan spin up and GPU usage@100%, in these situations my CPU could likely feed 3 or 4 Vega 56's no problem and get more FPS than any monitor in the world can display anyways.
Bottom line do alot of research into the specific games you play and then find out of you will be CPU bound in them, because there is no blanket answer to this question that covers all games.
The way I think most people look at it, is if your GPU is consistently at 99-100% utilization then you don't have a CPU bottleneck. This is widely accepted, but not technically true. Like mentioned above, some game engines have a lot to do with it., but I've found that CPU and platform bottlenecks still do exist even if the GPU is seeing full utilization. Meaning, there might be additional performance on the table depending on the configuration. For example, you might have an FX 8350 system and a 8700K system for comparison. Both systems allow the GPU to see 100% utilization, but performance is higher on the 8700K system. I would guess that most people don't look at bottlenecks in this way.
Easiest way imo is to use MSI afterburner. Make sure you have the graphs for GPU and CPU utilization enabled. Load up your favorite game, play it some then go look at the graphs. If one is constantly at or near 100% and the other isn't, you can tell what is bottle-necking your system.