Game Development Reference
In-Depth Information
ItisdiculttosayhowmuchasingleframenowtakesinGPA(see Figure17.10 ) .
Work from the previous frame is part of the current frame. We do see all worker
threads busy executing tasks. The gaps between frames are gone for the worker
threads. DXUT is single-threaded, running on only the main thread. Running
TGE without GPA now runs at 3.05 ms raher than 3.38 ms, the best execution
time TGE had before pipelining. This confirms the intuition that DXUT was not
using the cycles on the three worker threads and that overlapping two frames on
theGPUallowsthesecyclestobeusedforframerendering.
17.4 Task, Task, Task
Moving a real game engine to tasking is complex. There are many data-dependent
systems that need to be rethought, but the long-term benefits of scalability are
huge. CPU core counts will continue to increase, and so will the mix of products in
the marketplace. Currently, shipping PCs already start from two hardware threads
and go all the way to twelve. Trying to figure out the best scheduling of threads is
tedious and best left to someone with lots of time on their hands. With tasking, you
can focus on the capabilities of the PC, not the core count. With systems broken
into tasks along logical lines, scaling up or down becomes a tractable problem.
Finally, with generic scheduling implemented in the task system, you are free to
focus on what makes your game rock!
Search WWH ::




Custom Search