Object Inspector

Object Instance Tree

The left side of the Object Inspector displays a hierarchical tree of DX12 object handles. Each root node is a ID3D12Device, and contains child categories for each type of object currently in use within the application. Within every named category, each object is shown by its hex object handle. Note that in some cases these handles may be displayed with a strike-out font. In these cases, the instance has been destroyed prior to, or during, the last traced frame.

DX12ObjectTree.png

In order to export creation arguments for external analysis, a save option is available within the Object Instance Tree. Right-clicking on an individual object handle or a type group (Fences, Resources, etc.) will open a context menu with a "Save to File" option.

DX12CreateInfoExport.png

Object Properties

Changing the selected object within the tree will update the "Object Properties" group on the right side of the Inspector tool. The lower half of the Object Properties window contains a viewer that shows the arguments used to create the instance. For example, the image below shows the arguments used in creating an ID3D12CommandSignature object.

DX12CreateInfoViewer.png

Object Usage

Investigating the usage of an object handle is made possible through two methods within the GPU PerfStudio client:

Within the Object Inspector

The Object Inspector tool contains a "Find Usages" button. Clicking this button when an object is selected within the object tree will insert the object's handle into the API/GPU Trace search bar, and start a search for calls that reference the handle. Use the Next/Previous buttons to step through individual usages.
DX12FindUsagesButton.png

Within the API/GPU Trace

Collecting information about objects found within an API/GPU trace is made possible by linking from a TraceView to the Object Inspector. Start by collecting a trace and locating the target API invocation to investigate. In cases where a call contains one or more DirectX interface arguments, a right-click on the row will open a context menu containing object handles.
DX12TraceObjectContextMenu.png
When clicked, the Object Inspector will find the selected handle within the object tree, and retrieve object properties for viewing. See the API Trace help page for more detailed trace viewer instructions.