PIX on Windows
Performance tuning and debugging for DirectX 12 games on Windows
Latest posts
PIX 2101.27: AMD raytracing counters, DXIL improvements, and more
Today we released PIX version 2101.27, which can be downloaded here. This release adds support for new GPUs and counters to AMD’s PIX plugin, improves the DXIL debugging experience, contains several enhancements to the CPU sampling profiler, and adds many other smaller improvements. AMD plugin improvements This release includes a new AMD plugin. This plugin adds support for AMD RDNA™ 2 Radeon™ RX 6000 series GPUs, which means that PIX features such as Event List Counters and High Frequency Counters are now available on these GPUs.  The plugin also adds support for new raytracing counters on RX 6...
New documentation page: Analyzing CPU samples in Timing Captures
Hi PIX users, I've added a new page to our PIX for Windows documentation set. The new page describes how to use Timing Captures to analyze CPU samples. Collecting CPU samples allows you to analyze how functions within your title are impacting performance. We've been steadily adding new features to PIX's sampling profiler and will continue to do so in the new few releases. Steven Pratschner - PIX Team
Analyzing CPU samples in Timing Captures
PIX includes a CPU sampling profiler that can optionally be run when taking a Timing Capture. Collecting CPU samples allows you to analyze how functions within your title are impacting performance. Viewing CPU samples is useful in several scenarios. For example, CPU samples can help you determine what code is running on a thread or core for portions of your title that either have sparse or no instrumentation with PIX events. Diagnosing performance issues using CPU samples in this scenario is more efficient than having to add additional instrumentation to your title, rebuild and redeploy. In addition, lookin...
New documentation page: Analyzing Win32 File IO performance using Timing Captures
Hi all, I've added another page to our PIX for Windows documentation set. The new page describes how to use Timing Captures to analyze file io performance. The addition of file io data to Timing Captures replaces the separate file io capture type that we removed from PIX a few releases ago. Steven Pratschner - PIX Team
Analyzing Win32 File IO performance in Timing Captures
PIX Timing Captures include an option to collect data on your title’s use of the Win32 file IO APIs to access files. The data collected for calls to APIs such as ReadFile and WriteFile include the name of the file being accessed, and the offset, size and duration of the access itself. Full callstacks for each file access are also recorded. If your title packages individual assets into a composite archive file, PIX can show which assets within the composite file were accessed if a mapping file is provided. When file IO data is collected, PIX also computes drive bandwidth and utilization metrics. File IO da...
New documentation page: Analyzing Memory usage and performance in Timing Captures
Hi PIX users, Over the last few releases we've been extending our memory profiling features in Timing Captures. I've written a new documentation page that describes how to use Timing Captures to analyze memory usage and performance. The addition of memory data to Timing Captures replaces the separate memory capture that we removed from PIX a few releases ago. Feedback appreciated as always. Steven Pratschner - PIX team
PIXÂ 2010.26Â Â –Â Updated Command List Execution View & Descriptor Heap Viewer
Today we released PIXÂ 2010.26This release contains better visualizations of Command List executions in timing captures, a brand new Descriptor Heap viewer, and fixes for several user-reported issues.
Analyzing Memory usage and performance in Timing Captures
PIX Timing Captures include options to record information on the memory allocations and frees made while the capture is running. This memory data is used to compute a set of memory-related counters that can be graphed in the Metrics View and to build an allocation stack tree and virtual memory allocations list in the Range Details view. The combination of the memory counters and the allocation tree can help you analyze your title’s memory usage and to find memory leaks. A typical usage pattern is to use the counters in the Metrics View to find periods of time where something unexpected is occurring, then use t...
Capturing GPU Work
One of the most significant changes we’ve made in PIX-2008.26 has been to make the GPU capture process focus on capturing GPU work rather than API calls. This blog post will explain how PIX used to work, describe some of the drawbacks with this approach, how it works now, and the benefits we get from it. Hopefully, you’ll find this discussion of PIX’s implementation interesting and be able to use this information to better interpret the data provided by PIX. Capture Layer PIX on Windows supports GPU Captures by inserting a capture layer in-between the application and D3D. For example, PIX intercepts calls to D3...