system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: What cores, threads and other related terms are when talking about game performance

I recently updated my Stellaris game and the game has slowed down a lot. Apparently this is something to do with cores and threads, but I can never follow the conversation. Could someone please explain?
gpt
Up until the mid-2000's the most common CPUs could only do one thing at a time. It could only be doing work on one set of calculations. It had the ability to pause its work, set aside one set of calculations and work on another set but the first set would be waiting on the second one before it can finish. We say that those CPUs had a single core.

A common problem in computing is that sometimes the CPU has extra power that isn't being utilized because the active program can't get data to the CPU fast enough. So, it has to wait until data can be loaded from RAM before it can keep working. To try and avoid wasted time they started doing something called simultaneous multithreading (SMT). The CPU would tell the operating system that it actually had two cores so that the operating system would send it twice as much work. When the CPU was waiting on a program to get its data ready to be processed, it could work on a second program. This sped up overall processing by reducing wasted time.

So, a single core CPU with SMT enables is what we would call a 1 core, 2 thread processor. A core is the actual chunk of circuitry that does the processing and a thread is a sequence of instructions coming from a program. The CPU only has 1 core but it can work on 2 threads at the same time, quickly swapping between them.

Eventually CPU manufacturers started adding in multiple physical cores to their processors. Now they could truly work on two distinct things at the same time. Depending on the exact CPU they would still enable SMT and so you now had a 2 core, 4 thread CPU. This has continued to scale up and now we have mainstream 8 core, 16 thread CPUs.

Some programs scale really well with more cores and more threads because their workload can be easily split between the different cores. However, if the program is only doing a single thing at a time then having multiple cores won't speed anything up because that program can only use a single core.

Modern games are commonly built to run well on up to 4 physical cores because that was the standard number available for years. But, depending on the game and how it is written, some games can benefit from more cores and even virtual cores in the form of SMT.