PIX on Windows

Performance tuning and debugging for DirectX 12 games on Windows

PIX 1906.14 – GPU Timing in New Timing Captures

Today we released PIX 1906.14, available for download here.  This release adds GPU timings to the New Timing Capture preview and further improvements to DXIL shader debugging.

New Timing Capture Improvements

Support for GPU timing data (see below)
Many other usability improvements,

PIX CPU Tools: Finding and Analyzing Context Switches

A context switch occurs when a CPU core switches from executing code on one thread, to executing code on a different thread, or going to idle.  When the OS switches the thread that is running on a CPU, it must save and restore state both for the thread that is being switched out,

PIX CPU Tools: Populating the Range Details view

The most common way to populate the Range Details view in the new implementation of PIX Timing Captures is to drag select a range of time in the Timeline using the mouse.  When you complete your selection, Range Details is populated with the data from all Thread and Core lanes for the range of time you selected. 

PIX CPU Tools Reboot!

A few weeks ago we released a version of PIX that includes a Preview release of a new implementation of Timing Captures.  This release represents a significant reboot of our CPU performance tools in PIX.
We’ve gotten a lot of feedback over the last few years about how our CPU tools in PIX compare with other AAA game-focused profiling tools. 

PIX 1904.23 – New Timing Capture preview and improved DXIL shader debugging

Today we released PIX 1904.23, available for download here.  This release contains a preview of the new Timing Capture implementation and improvements to DXIL shader debugging and pixtool as well as various other improvements and bug fixes.

Preview of a new implementation of Timing Captures (see below)
HLSL variables are now available during DXIL shader debugging
New pixtool features:

Use “take-capture –winml”

PIX 1903.26 – Occupancy for Turing GPUs and Variable Rate Shading

Today we released PIX-1903.26, available for download here. This release includes support for Variable Rate Shading in GPU Captures, and it adds support for Occupancy on NVIDIA Turing GPUs such as an RTX 2080.
Variable Rate Shading
Variable Rate Shading (VRS) is a powerful new DirectX 12 feature that allows applications to significantly reduce their pixel shading work in exchange for minimal loss of visual fidelity.

PIX 1903.12 – High Frequency Counters

Today we released PIX-1903.12, available for download here. This release includes an exciting new feature in GPU Captures: High Frequency Counters.
With High Frequency Counters, developers can plot graphs of GPU hardware counter values over time and correlate ranges of the graphs back to specific events within their GPU Capture.

PIX 1901.28 – Timing Data Improvements and support for new GPUs

Today we released PIX-1901.28, which can be downloaded here. In this release we’ve made improvements to Timing Data in GPU Captures, added support for new GPUs from NVIDIA and AMD, and fixed miscellaneous other issues described below.
Timing Data Improvements for GPU Captures
We have significantly reworked how PIX collects Timing Data in GPU Captures.

PIX 1812.14 – Playback Adapter Selection

Today we released PIX-1812.14, which adds support for selecting the playback adapter, displaying unbound resources and improvements to the occupancy lane.  This release also includes various miscellaneous fixes detailed below.
Playback Adapter Selection
PIX now allows you to select the GPU on which to play back a recording.


PIX 2003.26 – DirectX 12 Ultimate and DXIL debugging

Today we released PIX 2003.26 which can be downloaded here. This release contains support for DirectX 12 Ultimate, source-level debugging of DXIL shaders, a new GPU capture timeline, CPU/GPU event correlation in new timing captures and many more bug fixes and performance improvements.

WinPixEventRuntime 2001.27

Today we released WinPixEventRuntime 2001.27 on Nuget.  This release contains the following bug fixes and updates:

Updated PIX public headers to use variadic templates.  This version of the headers improve compilation performance and are only supported on Visual Studio 2013 or higher.

PIX 1911.27 – New Buffer Formatter and Capture from Launch

Today we released PIX 1911.27 which can be downloaded here.  This release contains an updated buffer formatter, the ability to start capturing of a process from initial launch, support for Windows 10 Insider Preview Builds (20H1) and many bug fixes.
Buffer Formatter
This release of PIX includes several enhancements to the Buffer Formatter aimed at helping you define and save custom formats and easily switch between them. 

PIX 1909.23 – New timing capture features, performance improvements and bug fixes

Today we released PIX 1909.23* which can be downloaded here. This release contains new timing capture features, support for programmatic captures in pixtool, performance improvements and many bug fixes.
* 1909.23 is the new name for 1909.13.  Sorry for any confusion.

PIX 1908.16 – Shader debugging fixes

Today we released PIX 1908.16 which can be downloaded here. This is a servicing release that fixes a couple of issues that causes PIX to crash when inspecting or debugging shaders, otherwise it is identical to PIX 1908.02.

PIX CPU Tools: Introduction to New Timing Captures Videos

We’ve recently posted a series of 4 new videos to the PIX for Windows YouTube channel.  These videos provide an overview of the features in New Timing Captures.

Part 1 describes the improvements we’ve made to capture duration, capture open times and to the timeline itself.

Windows 10 Servicing Release KB4505903 required for instrumented CPU captures

If you’re running the 1903 build of Windows 10 (the Spring 2019) update, you must have KB4505903 installed to take Function Summary, Callgraph, and Tracked Functions captures.  Without this update, your title will hang when taking one of these captures.
To check whether you have this update,

PIX 1908.02 – Fixes for customer issues, plus DXR and New Timing Capture improvements

Today we released PIX 1908.02, which can be downloaded here. This release fixes miscellaneous bugs that were reported to us by customers. It also adds new CPU features to New Timing Captures, and adds some final touches to the new DirectX Raytracing (DXR) Pipeline View in GPU Captures.

GPU timing data in New Timing Captures

GPU timing data was added to the New Timing Captures preview feature in the PIX 1906.14 release.  This allows developers to view GPU work submission and execution, including async compute.
Getting Started
The application should be launched with the following GPU timings checkbox checked in the options to enable timing data collection.

PIX 1906.26 – Minor update fixes PIX on Insider Preview builds of Windows

Today we released PIX 1906.26, available for download here. This release makes PIX compatible with the latest Insider Preview builds of Windows.

PIX now works on latest Inside Preview builds of Windows.
PIX no longer pops up an error message when trying to use a plugin with an unsupported GPU configuration (eg SLI).