The Linked Trace button (shown below) populates the API Trace and GPU Trace with data collected from a single frame. This can be potentially useful in finding areas to improve performance- either by inspecting the creation of CommandLists, or the resulting durations of executed commands in graphics hardware.
Using the Linked trace mode is simple- instead of requesting that a trace be refreshed with its own trace button, click the linked trace button. The linked trace enables a single frame trace of all DX12 calls from the target application and populates trace windows with the results of the trace. Note: It is important to note that while operating in Linked mode, there is additional overhead related to GPU profiling within the APITrace timing results. That is, expect to see larger empty spaces surrounding calls in the API Trace which also appear in the GPU Trace.
- To find the CPU-side origin of a command executed on the GPU, double-click a timeline item within the GPU Trace. This will highlight the call site within the API Trace in the timeline, and also the bottom trace list.
- To find the GPU execution of a command queued on the CPU, open the API Trace and double-click a timeline item that you’re interested in. This will highlight the executed item within the GPU Trace. Keep in mind- this will only work for a subset of ID3D12GraphicsCommandList calls that were submitted through an ID3D12CommandQueue with ExecuteCommandLists.