For years, PC developers have been using extra power from the GPU to take some load off of the CPU. But in a new Gamasutra sponsored feature
, Intel outlines how reversing that process -- by Onloading some graphics tasks to CPU -- can result in better hardware balance and better overall performance.
The Onloading technique won't work in all cases -- games with heavy rasterization or texture filtering won't see much benefit, for instance. For other projects, though, Intel highlights four methods for loading graphics tasks onto the CPU.
- Intra-frame CPU Onloading is the use of the CPU to perform a portion of the work while the GPU performs another portion of the work and sharing data.
- Screen space CPU Onloading is the use of the CPU to do a post rendering effect after the GPU has rendered the contents of a frame.
- CPU Onloaded Data Generation is the pre-generation of heat maps, shadow maps or other inputs for consumption by the GPU.
- Full Pipeline CPU Onloading is the duplication of a 3D raster pipeline on the CPU for asynchronous generation of slow moving or infrequently updated components of your game.
The full feature
gives more detailed descriptions of performing all of these methods, and lays out a system of screen tiling and transposition that can speed up the post-processing in the screen space method.