Xbox One X: PIX Enhancements in the June 2017 XDK

The Xbox One X dev kit includes several new capabilities that have enabled new scenarios and a greatly improved workflow when using PIX. Capabilities such as the additional tooling memory and the Xbox Transfer Device allow for longer captures and have enabled a significantly reduced iteration time for capturing and analysis.

The June 2017 version of PIX incudes several new capabilities across all capture types. These enhancements are aimed at helping you tune your title for optimal performance on Xbox One X and the other devices in the Xbox One family.

Improved iteration times using Fast Title OS startup and the Xbox Transfer Device

PIX utilizes the high-speed Xbox Transfer Device that ships with Xbox One X dev kits to significantly reduce the time it takes to capture and analyze GPU data. Furthermore, PIX now avoids restarting the title OS when starting analysis, which reduces the time it takes to analyze GPU captures. With both of these features enabled you should see capture and analysis take no more than a few seconds for average-sized captures. To use the Xbox Transfer Device, make sure the cable is connected to a USB 3.0 port on your PC and one of the USB ports on the back of your Xbox One X dev kit.

If you encounter any issues with these options enabled, please contact your DAM. You can disable the use of the Xbox Transfer Device by running the following command:

xbconfig PixFastTransportMode=off  

To force PIX to restart the title OS each time for analysis, use the following command:

xbconfig FastIterationMode=off  

System Monitor improvements

The System Monitor has been significantly enhanced and we’ve enabled combined collection of system monitor counters, continuous timing data, as well as a video clip of the running title. All of this can be saved into a new capture type.

When monitoring counters for your game using the System Monitor you can start continuous timing capture. This records the counters as well as the timing events from the title. The recorded section is highlighted in green on the graphs. When you stop the timing capture, press the Download button to turn all the recorded data into a capture that contains counters, events, and game play video for the duration of collected data. You can also select a sub-range in the graph and download just that portion of the data. This can be saved and opened later to examine System Monitor counters, Timing Capture events, and the video recording of the title—even after your title has exited.

The video recording is useful for understanding correlation between counters and what the title was doing at the time. Perhaps there was a spike in frame time because of excessive effects in the game? With the video, you can easily tell.

If you don’t want to save the captured data, you can select up to two seconds and open that directly as a timing capture just as before. This can also be done later if you save the capture as described.

In addition to that, graphs can now be customized to your liking. You can change the Y-axis scale of the counters, individually or in groups, to create a more natural and understandable display. There are new columns of data available as well, such as min, max, mean, and standard deviation. There are also new ways to display data (called “Gizmos”) that you can place in the graph area that display data in other forms such as bars, speedometers, and so on.

GPU capture improvements

We’ve made the following improvements to GPU captures in Xbox One X:

Timing Capture improvements

We’ve made the following improvements to Timing captures in Xbox One X:

Callgraph capture improvements

We’ve made the following improvements to Callgraph captures in Xbox One X:

Instruction Trace capture improvements

We’ve made the following improvements to Instruction Trace captures in Xbox One X:

File I/O capture improvements

We’ve made the following improvements to File I/O captures in Xbox One X:

Memory Capture Improvements

We’ve made the following improvements to memory captures in Xbox One X: