PIX on Windows

Performance tuning and debugging for DirectX 12 games on Windows

Latest posts

PIX 2405.15: Agility SDK 1.614 support and misc bug fixes
May 16, 2024
Post comments count 0
Post likes count 1

PIX 2405.15: Agility SDK 1.614 support and misc bug fixes

Sam Freed
Sam Freed

Today we released PIX version 2405.15, which can be downloaded here. This release has a handful of bug fixes and also adds support for the Direct3D 12 Agility SDK version 1.614. Notably this SDK adds support for the 999e5 texture format. You can find download links and more information about the Agility SDK here.

Open sourcing the WinPixEventRuntime under MIT
Mar 27, 2024
Post comments count 0
Post likes count 1

Open sourcing the WinPixEventRuntime under MIT

Austin Kinross
Austin Kinross

The WinPixEventRuntime has been open sourced on GitHub under the MIT license! This includes the pix3.h headers (and friends), the code needed to build WinPixEventRuntime.dll, the code needed to decode PIX events, and a wide range of unit tests. The WinPixEventRuntime NuGet package has also switched to the MIT license. We hope this will make it easier than ever to integrate PIX events into your games, applications, and tools. We have also published a proposal for a new PIX CPU Frame / Task API. We would love to hear your feedback. Please visit this GitHub issue and leave your thoughts. Further links: ...

PIX 2403.08 – New D3D12 features + misc PIX improvements
Mar 11, 2024
Post comments count 0
Post likes count 1

PIX 2403.08 – New D3D12 features + misc PIX improvements

Austin Kinross
Austin Kinross

Today we released PIX on Windows version 2403.08, which can be downloaded here. This release coincides with today’s Agility SDK release, which includes support for new features including the final Work Graphs API, GPU Upload Heaps, and more. Please visit this post on the DirectX blog for more information about the Agility SDK release. New features and improvements in this PIX release include: GPU Captures Timing Captures plus some bug fixes and other improvements.   GPU Captures Support for new D3D12 Features Work Graphs This r...

PIX 2402.07 – misc bug fixes
Feb 14, 2024
Post comments count 0
Post likes count 0

PIX 2402.07 – misc bug fixes

Austin Kinross
Austin Kinross

Today we released PIX version 2402.07, which can be downloaded here. This release fixes two bugs: Stay tuned for our next big PIX update in March!

Circular Timing Captures
Jan 3, 2024
Post comments count 0
Post likes count 0

Circular Timing Captures

Steven Pratschner
Steven Pratschner

Starting with the 2402.07 version of PIX on Windows and version 1.0.231030001 of the WinPIXEventRuntime, Timing Captures can now be run in a new "Circular", or "ring-buffer" mode, in addition to the previously available "Sequential" mode.  The new Circular mode is available both through the PIX UI and programmatically using the PIXBeginCapture API.  When capturing in Circular mode, PIX stores the capture data in a fixed sized buffer on disk. When the buffer is full, the oldest capture data is aged out to make room for newer data. Because the amount of space needed to store capture data is fixed, Circular capt...

PIX 2312.08: misc bug fixes and improvements
Dec 8, 2023
Post comments count 0
Post likes count 207

PIX 2312.08: misc bug fixes and improvements

Austin Kinross
Austin Kinross

Today we released PIX version 2312.08, which can be downloaded here. This fixes a lot of issues reported to us since our last major PIX release (version 2310.30, details here). Thank you all for reporting these issues. Please keep sending feedback to us through the usual ways, such as emailing us at askwinpix@microsoft.com or contacting us via the DirectX Discord. You may also want to see our Known Issues page. Here are all of the improvements: GPU Captures Timing Captures      

Saving and Loading PIX Settings
Nov 14, 2023
Post comments count 1
Post likes count 0

Saving and Loading PIX Settings

Steven Pratschner
Steven Pratschner

The Settings layout, accessible from the PIX Home tab, provides several controls for configuring various aspects of the PIX user interface and capturing experience.  These settings, along with Timing Capture Timeline configurations, Metrics view configurations, and Metrics View Consolidated Event Patterns can be exported from PIX and saved to a file.  These files can then to imported into other instances of PIX.  The ability to export and import settings makes it easier for multiple users to collaborate in a studio.  For example, a studio may wish to create a custom Timing Capture configuration for use by all d...

Defining custom regular expressions for consolidated events in the Timing Capture Metrics view
Nov 2, 2023
Post comments count 0
Post likes count 0

Defining custom regular expressions for consolidated events in the Timing Capture Metrics view

Steven Pratschner
Steven Pratschner

The consolidated events feature in the Timing Capture Metrics view is used to group, or consolidate, PIX events that follow a common pattern into a single event for purposes of graphing in the Metrics View.  A common use of this feature is to group events such as "Frame 1", "Frame 2", "Frame 3" and so on into a single event.  Prior to the 2310.30 release of PIX on Windows, PIX events were grouped using two regular expressions built into PIX. Starting with 2310.30, custom regular expressions can be defined if the two built-in regular expressions do not result in the event groupings you expect.  Use the Consolid...

Timing Capture Statistical Comparison Features
Nov 1, 2023
Post comments count 0
Post likes count 1

Timing Capture Statistical Comparison Features

Steven Pratschner
Steven Pratschner

Starting with the 2310.30 version of PIX on Windows, the Timing Capture Metrics view can produce a statistical comparision of the average duration for the points that represent PIX event hierarchies in two selected ranges of time.  Statistical comparisions help determine which portions of the event hierarchies had statistically different durations for the set of points being compared. For example, the following graph of a metric named Game::Render shows several ranges of time where the event durations are relatively consistent, but there are also ranges of time in which the event's duration is significantly lo...