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.
Latest Answers