Why are games single-core bound on CPUs and not multithreaded? I understand why the rendering is offloaded to GPUs but what about other tasks?

287 views

Why are games single-core bound on CPUs and not multithreaded? I understand why the rendering is offloaded to GPUs but what about other tasks?

In: 5

10 Answers

Anonymous 0 Comments

GPUs are best for handling lots of independent calculations, where you don’t need the results of one to calculate the next. However game calculations don’t often fit this, as physics and game state calculations often are dependent on each other and so you can’t start computing a later part until the previous calculations are complete. This makes the CPU better suited for this as while it’s not good at calculating many things at once, it can do individual calculations much faster.

A good program is optimized to send different calculations to different processors depending on the nature of those calculations. If it’s lots of independent calculations, let the GPU do it. If it’s a series of somewhat interdependent calculations, split it between a number of CPU cores. If it’s a series of calculations that all depend on the previous result, then let the fastest core do it all.

You can’t always speed up a program by adding more processors just like you can’t make a baby faster by adding more women.

You are viewing 1 out of 10 answers, click here to view all answers.