April 14th, 2022

Timing Capture Metrics View improvements in PIX 2203.30

Steven Pratschner
Program Manager

The 2203.30 version of PIX on Windows contains two new features in the Timing Capture Metrics View.  We added both of these features based on your feedback.  The first new feature is the ability to graph a PIX CPU events execution time and stalled time, in addition to its duration.  The second feature is an enhancement to the consolidated events feature.

Graphing Execution and Stalled Time

When a PIX CPU event is graphed in the Metrics View, the duration of the event is graphed by default. The duration is the amount of time taken from the time the event started running until the time the event stopped running. This time includes any time that the event was not running due to a context switch. The amount of time the event was not running is the stalled time. The duration minus the stalled time is the execution time, or the amount of time the code in the event itself ran.

The execution time and stalled time can be graphed in addition to the duration. Graph the stalled or execution time by expanding the row containing the name of the event in the Active Metrics Panel as shown in the following figure.

Image pix new timing capture metrics view execution time

Event consolidation per-thread

Since releasing the consolidated events feature we’ve received feedback that its common to use the same “Frame *” string for an event name on multiple threads.  For example, you may use an event named “Frame 456” to identify a frame on your main thread, but then also use “Frame 456” on your worker threads to identify which tasks go with that frame.  In this case, consolidating all events that follow the “Frame *” pattern across all threads into a single event for purposes of graphing in the metrics view isn’t useful.  Instead, you probably want the consolidation to be scoped to the events on each thread.  PIX now does this.  In the following example, I’ve used the same “RenderWorker::Process *” event on two threads, Render1 and Render2.  These now show up as different consolidated events:

Image consolidated events per thread

If you prefer the old behavior in which PIX doesn’t scope the consolidation by thread, use the following setting to cause PIX to consolidate across all threads:

Image consolidated events per thread setting

As always, use the feedback button in the upper right corner of PIX to send us an email with feature requests or bug reports.

Steven.

Category
PIX

Author

Steven Pratschner
Program Manager

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.

0 comments

Discussion are closed.