DX CPU and GPU Threads
In addition to the typical task tracks on the Task Timeline, trace files captured from Microsoft* DirectX* applications contain two tracks:
- The DX CPU track shows the period of time your application spends preparing each frame, enabling you to visualize where in your application that work is occurring relative to trace instrumentation you have added yourself.
Each DX CPU task has CPU metrics (e.g. DX Locks), which are visible in the Metadata panel.
The CPU metrics vary depending on the CPU type in your system. There will be a metric for each CPU, so different computers will have a different number of CPU metrics.
- The DX GPU track shows the period of time when the GPU is executing the associated frame previously prepared by the CPU, enabling you to visualize how far behind in time the GPU is generating a frame vs. where your application is in generating a new frame. If the GPU is keeping up or in case of intensive CPU-GPU synchronization, there will be a 1-1 relation between CPU frame, then GPU frame. Otherwise the CPU may be 2-3 frames ahead of the GPU if the GPU is operating slowly.
Each DX GPU task has GPU metrics (e.g. Primitive Count), which are visible in the Metadata panel.
The metrics shown for GPU tasks are different depending on the GPU Hardware. See the Metrics chapter for more information on which metrics are available for each platform.
Intel GPA automatically provides the DX CPU and DX GPU tracks, as well as Microsoft DirectX* call instrumentation, in your DirectX* applications, without any additional work required. While most of the tracks show the activity of traced code within a particular thread, the DX CPU and DX GPU tracks instead highlight the work performed by the graphics driver (DX CPU) and the graphics hardware (DX GPU).
Each DX CPU task will have an associated DX GPU task with the same name so you can associate the CPU work with the GPU work. In addition, if you select on CPU task, you can right click and select Select items that are children of selection and that will automatically also select the associated GPU task.