PIX on Windows
Performance tuning and debugging for DirectX 12 games on Windows
Latest posts

Power status, CPU frequency and CPU C-State counters

Starting with the 2505.09 release of PIX on Windows, new metrics have been added to help you optimize your title on battery powered devices such as tablets and Windows handheld gaming devices. With these counters, you can see whether performance issues in your game can be correlated with power-related events, such as a change in CPU C-state, or a device going into power saving mode, for example. These metrics are available in System Monitor, and in the Metrics, Comparison, and Budgets layouts in Timing Captures. The following metrics are provided: System Power Status Metrics Per-Processor...

PIX 2505.09 – Revamped UX, Improved Usability, and Many New Features


Today we released PIX on Windows version 2505.09, which can be downloaded here. Since our preview announcement at GDC, we have been working hard to deliver the changes we promised and more. Today’s release includes many new improvements to PIX, including big overall changes and changes specific to GPU Captures and Timing Captures. Other improvements, such as information about the PIX API preview, will be available in the coming weeks – stay tuned! As usual, if you have any feedback or suggestions for PIX then please get in touch! The best ways are via the DirectX Discord (#pix) or via the Help->Send Feed...

Introducing Budget Profiles in Timing Captures

The 2505.09 release of PIX on Windows introduces the concept of Budget Profiles in Timing captures. A Budget Profile is a grouping of budgets defined for their respective metrics. A common use of Budget Profiles is to define the performance targets, or profiles, for different hardware specifications. For example, your studio likely has different performance targets for min-spec, mid-range and high end PCs. Budget Profiles are defined and managed using a new Budgets layout. Click the New Profile button on the Budgets layout to create a new profile. A dialog will appear, prompting you to name your new...

Changes to PIX Events with a D3D context parameter

Prior to the 2505.09 release of PIX on Windows, calls to PIXBeginEvent and PIXEndEvent that include a Direct3D context were required to be called from the same CPU thread. Starting with the 2505.09 release, PIXBeginEvent and PIXEndEvent calls that include a context (referred to as PIX GPU events) may now be made on different CPU threads. This change has been made based on customer feedback that became more prominent after the release of Unreal Engine 5.5 as Epic changed the way in which they emit these events. With this change, the starting and ending times for the corresponding CPU work will be rendered ...

Capturing video frames in Timing Captures

Starting with the 2505.09 release of PIX on Windows, an option has been added to Timing Captures to record video frames along with the timing data. If the option to collect video frames is selected before a capture is taken, PIX will add a lane named Video Frames to the Timeline view. This lane will contain images that show the video frames over the duration of a capture. Viewing video frames alongside timing data allows you to see the state of the title at the point where a performance problem occurred. Select the “Select a video capture source…” button to opt in to collecting video frames. Doing so d...

PIX 2503.24: misc bug fixes

Today we released PIX version 2503.24, which can be downloaded here. This release includes everything in the previous 2501.30 release, plus the following bug fixes:

PIX 2501.30-preview: Application Specific Driver State, Recreate At GPUVA and Tight Alignment

Today we released PIX version 2501.30-preview, available for download here. This release has initial support for the exciting new D3D12 features that were released in a preview DirectX Agility SDK today. Please visit this blog post for more information about the Agility SDK release. 2501.30-preview is a preview version of PIX. It is identical to 2501.30 (non-preview) except it also has support for the new preview D3D12 features. We only recommend using this version of PIX if you are trying out the new D3D12 features. We recommend that all other PIX users stick to the most recent regular version of PIX availabl...

PIX 2501.30 – Support for Shader Hash Bypass, bug fixes, and everything in 2412.12

Today we released PIX version 2501.30, which can be downloaded here. This release includes support for everything that was in the 2412.12 version of PIX, plus the following improvements: Support for Shader Hash Bypass PIX has full support for this new D3D12 feature that allows apps to bypass shader hash validation in D3D12 runtime by embedding a sentinel BYPASS hash value in any shader binary. For more information about Shader Hash Bypass, please visit this blog post. GPU Captures: Timing Captures: As usual, please send your suggestions and/or feedback to us via the feedbac...

PIX 2412.12 – Texture/Buffer/Visualizer improvements, Work Graph Shader Debugging, and many Timing Capture improvements

Today we released PIX on Windows version 2412.12, which can be downloaded here. This release includes several new improvements to GPU Captures and Timing Captures, including: GPU Captures: Timing Captures: As always, nearly all of the new functionality in this release was added in direct response to customer feedback. Please continue to contact us with your issues and requests! The best ways to reach us are via the "Send Feedback" button in the top-right corner of PIX, and via the #pix channel on the DirectX Discord. GPU Captures Custom Buffer/Texture/Mesh Visualizer Impro...