Steven Pratschner

Program Manager, PIX on Windows

I'm the Program Manager for the PIX CPU tools in the Gaming Division at Microsoft. PIX helps you identify the performance issues that may be affecting the frame rate of your DX12 AAA title on Windows and on Xbox.

Post by this author

Filtering CPU Samples by one or more PIX Events

The Sampling Profiler included in the 2101.27 release of PIX on Windows includes a novel new feature that allows you to filter the analysis of CPU samples down to just those samples that were collected during the time when one or more PIX events was running.  This capability is particularly useful for seeing which functions ran the most ...

Function Summary and Callgraph captures are now deprecated

Function Summary and Callgraph captures are deprecated starting with the 2102.27 release of PIX on Windows. The workflows supported by these legacy capture types have been replaced with enhancements we're recently made to the Sampling Profiler that is part of Timing Captures.  These enhancements include the ability to group the tree of ...

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 ...

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...

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 ...

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...

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...

New documentation page: Finding and Analyzing Context Switches

Hi PIX users, I've written a new documentation topic on how to use the features in Timing Captures to find and analyze context switches (here). Feedback and questions appreciated as always. Thanks, Steven Pratschner - PIX team...

Analyzing stalls and context switches in Timing Captures

A context switch occurs when a CPU core switches from executing code on one thread, to executing code on a different thread, or going to idle. When the OS switches the thread that is running on a CPU, it must save and restore state, both for the thread that is being switched out, and for the thread that is being switched in. This state, or ...