Subtopics
Extensibility
Documentation for extensibility.
Gpu
Documentation for gpu.
Gpu trace
Documentation for gpu trace.
Shader explorer
Documentation for shader explorer.
Guides
Analyzing title performance
Overview Describes PIX as a performance tuning and debugging tool for game developers who are building DirectX 12 titles.
Configuring the PIX UI
The default window layout that PIX uses for the device connection tabs and for each capture type can be customized.
Analyzing cpu performance
PIX includes several features and capture types for helping you solve CPU performance issues.
Analyzing directstorage and Win32 file
PIX Timing Captures include features for analyzing the performance of your title’s file accesses.
Launching PIX, connecting to consoles,
The Gaming eXtensions Development Kit (GXDK) setup program installs PIX to the C:\Program Files (x86)\Microsoft GDK\bin folder on your…
Analyzing memory usage and performance
PIX includes a variety of features and capture types to help you diagnose issues that are related to memory usage and performance.
PIX timing captures
a id=“timing_capture_overview”/a
Opening programmatic timing captures
Captures taken with the PIXBeginCapture API must go through a conversion process before they can be viewed in PIX.
PIX API
PIX includes set of APIs that can be used for a number of tasks, including the recording of timing data, providing software counters,…
Profiling a title's initialization and
A title’s startup sequence typically involves numerous memory allocations and file IO operations, along with other initialization tasks.
Analyzing stalls and context switches
This topic describes how to use PIX to analyze stalls and context switches.
Converting an etl file to a timing
The Convert menu under the Home tab in PIX can be used to create a Timing Capture by converting an etl file collected using xbPerf, xperf…
Converting previous versions of timing
In some releases of PIX, the Timing Capture file format must be changed as new features are added.
Configuring PIX to access pdbs for cpu
CPU captures in PIX require access to your title’s Program Databases (PDBs) to properly display functions names in callstacks, sampled…
Analyzing the critical path for a PIX
PIX analyzes the context switch data collected during a Timing Capture to compute the critical path for a selected PIX event.
PIX custom memory allocators
PIX timing captures can track memory allocations and frees made by your custom memory allocators.
Analyzing directstorage performance
PIX Timing Captures include an option to collect data on your title’s use of DirectStorage.
Gpu debugging guidelines
You may see various issues such as rendering corruption, glitches, GPU hangs, page faults and so on during game development.
Analyzing dynamic latency input
PIX Timing Captures include an option to collect data on input readings and Dynamic Latency Input (DLI).
Instruction trace captures
a id=“itrace_overview”/a
Memory pies
When a title is paused, the Memory Pies view in PIX can be used.
PIX live
When connected to a console in PIX, PIX has the ability to pause and unpause a running title via the pause/play button located both next to…
Analyzing file accesses that occur
a id=“file_io_mapping_files”/a
The metrics view in PIX timing captures
The Metrics View is a graphical tool that helps you analyze large volumes of data to quickly find areas of interest as they relate to…
Detecting violations of write
This topic describes how to use PIX to detect when too much data has been written to local storage.
PIX on-demand live debugging
On-demand live debugging can be used to debug XBOX GPU in real-time outside of hang and exception scenarios.
Analyzing cpu samples in timing captures
PIX includes a CPU sampling profiler that can optionally be run when taking a Timing Capture.
Saving and loading PIX settings
The Settings layout, accessible from the PIX Home tab, provides several controls for configuring various aspects of the PIX user interface…
Shader exception detection in gpu
Shaders throwing exceptions can be detected in GPU captures starting with the June 2023 GDK.
PIX live debugging on shader exceptions
Live debugging can be used to detect shaders throwing exceptions and debug them in real-time.
System monitor
PIX System Monitor allows for real-time profiling of a title by viewing counter data live as it’s streamed off the console.
Timing capture bookmarks
Starting with the June 2024 version of the Microsoft Game Development Kit, developers can add bookmarks, or annotations, to lanes in the…
Timing capture comparison features
Timing Captures include a Comparison Layout that can produce a statistical comparison of the average duration for the points that represent…
Querying the timing capture file format
The Timing Capture file format is a Sqlite database.
The timing capture summary layout
When a Timing Capture is opened, PIX performs an initial analysis that produces capture statistics and a set of potential candidates for…
Analyzing d3d API object usage in
PIX Timing Captures include an option to record information on all D3D resource and heap objects allocated and freed while the capture is…
Analyzing memory usage and performance
PIX Timing Captures include options to record information on memory allocation, accesses and freeing that occurs while the capture is…
PIX videos
PIX on Windows Overview
Analyzing Win32 file io performance
This article describes how to use PIX to analyze the performance of Win32 file IO operations.
PIX
Performance Investigator for XBOX (PIX) is a performance tuning and debugging tool for game developers who are building DirectX12 titles.
Configuring a console for use with PIX
Taking captures with PIX requires the Profiling mode console setting to be On as shown in the following figure.
Setting up and getting started
This section covers how to do the following with PIX.
