PIX on Windows
Performance tuning and debugging for DirectX 12 games on Windows
Latest posts
PIX-2203.07: Support for DirectStorage
Today we released PIX-2203.07, which adds support for today’s DirectStorage announcement. For more on how to get started with DirectStorage, check out our DirectStorage Landing Page. PIX and DirectStorage New features need new tooling support! It’s been a consistent goal for the PIX team to ensure that developers get tooling support for a new feature as soon as possible. We’re proud to announce that we have PIX support for DirectStorage ready on day 1 with this release! To enable DirectStorage support in PIX, check the ‘File accesses’ checkbox under File IO in the Timing Capture settings. Once t...
PIX 2201.24: New Timing Capture Features
Today we released PIX version 2201.24, which can be downloaded here. New Features Graphing of consolidated PIX events in the Timing Capture metrics view It is common practice to name the PIX events that represent a frame of CPU work (or any other repeated set of work) with a sequential number pattern such as "Frame 123", Frame 124", "Frame 125" and so on. PIX will now look for events whose names follow this pattern and group, or consolidate, them. The individual events that fit the patterns will be treated as the same event in the Metrics View for purposes of graphing and analysis. Critical path ana...
Graphing Consolidated Events in the Timing Capture Metrics View
The 2201.24 release of PIX on Windows includes a feature that treats a set of events that follow a common naming pattern as the same event in the Timing Capture Metrics view. You'll find this feature useful if you follow the common practice of naming the PIX events that represent a frame of CPU work (or any other repeated set of work) with a sequential number pattern, as in this example: In this case, using the Metrics View to analyze an individual frame event, such as "Frame 339" isn’t useful, but analyzing the set of "Frame *" events as a group can be used to find outliers in frame time. When pop...
Critical path analysis in Timing Captures
The 2201.24 version of PIX on Windows includes a new feature that uses the CPU context switch data collected during a Timing Capture to compute the critical path for a selected PIX event. The critical path is the series of events and thread dependencies that, if shortened, would reduce the overall duration of the selected event. As an example, consider the following PIX event named MainLoop 17864. This event represents one frame of CPU time. In this frame, we can see where execution begins and ends, as represented by the dark blue boxes. However, there is also a significant portion of the frame drawn in a di...
Improving PIX, thanks to your feedback!
Thanks to everyone who took the time to answer the PIX on Windows survey we sent out! It’s been awesome for us to see the sheer number of responses that came in from people all over the industry who care about our product – it’s because of you that we’re constantly striving to create a premium debugging and profiling experience on PC. We want to tell you more about the survey and upcoming improvements but first a quick note: the survey might be over, but we still want to keep hearing from you. We look at and respond to every message we get on discord.gg/directx. And every email from when you hit the Send...
PIX 2108.18: New programmatic capture APIs and much more
Today we released PIX on Windows version 2108.18, which can be downloaded here. We have also released a new version of WinPixEventRuntime, available here. This release has a lot of new features, including: This release also includes a new Visual C++ Redistributable that may request a reboot during installation. We believe that anyone who has previously installed a 2019 VC++ redist on their computer (such as the one installed by older version of PIX) can safely ignore this reboot request. As a friendly reminder, our PIX survey is still open for responses! If you haven...
File IO profiling support for archive files
The August release of PIX on Windows adds file io profiling support for archive files to Timing Captures. This new feature allows Timing Captures to identify which individual assets are being read out of archive files such as .zip or .pak. If the File Accesses checkbox is selected before starting a Timing Capture, PIX will collect data on all file accesses that occur when the capture is running. By default, PIX shows file accesses as seen by the underlying file system. If your title packages individual assets into a composite archive file, the file io profiler built into Timing Captures can now show which ...
PIX survey – we want to hear from you!
Are you building games with DirectX 12 on Windows? We want to hear from you! Check out aka.ms/pixsurvey This survey will influence where the PIX team will make our future feature investments and help us better understand which pain points we need to address first. We also hope to better understand whether our past investments had the impact we expected. Please let us know what you think! We also want to tell everyone how we’re planning on using the feedback we hear from the survey. We’re targeting sometime in September for another post describing how what we heard will shape PIX on Windows – watch this b...
New File IO-related counters in the Timing Capture Metrics View
The 2107.01 release of PIX on Windows adds drive bandwidth counters to the Metrics view in Timing Captures. These new counters, along with the existing drive utilization counters and the ability to view data on all file accesses, helps give you a clear picture of how file io is impacting title performance. To collect the counters and the data on file accesses, select the File accesses checkbox before starting the capture. The drive utilization and bandwidth counters can be found under the Derived System Metrics/Drive Utilization node in the Metrics View Selector Panel. Bandwidth and utilization counte...