PIX on Windows
Performance tuning and debugging for DirectX 12 games on Windows
Latest posts
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. Check 'em out. If you have feedback, please use the Feedback button in PIX to contact us. Steven Pratschner PIX CPU Tools Program Manager
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, open Settings and go to Update and Recovery->View Update History. KB4505903 is currently in the process of being rolled out through Windows Update. If you need the fix before it gets pushed to you, install the patch directly from: http://www.catalog.update.microsoft.com/Search.aspx?q=KB4505903 . We apologize ...
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. Thank you everyone who has reported issues to us. As usual, if you encounter a problem then please use the feedback button in the top-right corner of PIX to contact us. We're very happy to help! Incidentally, this release fixes an issue that prevented the feedback button from working for some users. Please contact us at t...
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. Command Queues D3D12 command queues created by the application are represented as separate lanes containing colored bars that indicate GPU work. The name of the lane is a combination of D3D12 command queue name, if named by the title and the D3D12 command queue type (ex: DI...
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. Highlights
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. Highlights GPU Timing Data This release of PIX adds GPU Timing Data to the preview of New Timing Captures. Like with Legacy Timing Captures, GPU Timing data displays GPU work alongside your API calls; in the graph below, each bar represents the Top of Pipe to End of Pipe duration of a GPU operation on the Command Queue: In the future, we plan to add more features currently found in e...
PIX CPU Tools: Finding and Analyzing Context Switches
The information in this post has been updated and replaced with the following documentation page: Finding and Analyzing context switches Steven Pratschner Program Manager - PIX team
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. After Range Details is populated, single clicking anywhere in the Timeline will not cause Range Details to update, but selecting a different time range will. There are other ways to populate Range Details in addition to selecting time ranges with the mouse. You may find these other modes useful depen...