PIX 2201.24: New Timing Capture Features

Jeff Noyle

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 analysis for a PIX event

Timing Captures now include a feature that analyzes the context switch data collected during a capture to compute the critical path for a selected PIX event. The critical path is the series of PIX events and dependencies that, if shortened, would reduce the overall duration of the selected event. The critical path for the event is display in a new lane that fills in the stalled time with information about which PIX events, threads, and cores were executing during that time, thus contributing to the stall.

Improvements, Bug Fixes and Optimizations

  • New NVIDIA plugin with support for additional NVIDIA Ampere Architecture GPUs
  • Support for edit-and-continue of HLSL 2021 features
  • Fix capture/replay of heaps created with NON_RESIDENT flag
  • Fix shader breakpoints when #line directives are present
  • Fix potential A/V at capture time inside SetSamplePositions()
  • Fix CopyBufferRegion error with tiled resources, causing replay to take a very long time
  • Improve source analysis custom search path handling for Timing Captures
  • Add copy for File Details View
  • Fix 2108.18 regression: two HLSL files might show up when you start debugging
  • Fix capture/replay of heaps created with NON_RESIDENT flag
  • Add save option for mesh viewer, shader output viewer, texture viewer
  • Make root constants show up in shader debugger’s constant view
  • Fix error dialog width on larger-dpi-than-primary monitors
  • Fix WinPixEventRuntime bugs
  • Shader debugging: Move breakpoints to next executable line
  • Fix shader output selection in the mesh viewer
  • Fix false-positive Agility SDK mismatch warning on Windows 11
  • Allow edit/copy/paste of event path in GPU capture event list
  • Fixing crash in metrics view due to min/max display adjustment causing reentr…
  • Ensure GPU disasm isn’t selected by default when moving through event list
  • Optimize descriptor heap serialization for low memory devices (e.g. HoloLens)
  • Fix Thread Affinity query bug
  • Add IsLoading progress bar to ActiveMetrics panel to make loading state clearer
  • Active metrics panel should now clamp min/max display for a metric so min <=…
  • Enable spectre mitigations
  • Remove viewport change when timeline is resized unless below a threshold
  • Fix mesh-shader output viewer for cases with actual amplification
  • Acceleration structure viewer – Add coloring options
  • [Resource History] Add next state buttons
  • Remove legacy timing captures from pixtool
  • Improve formatting for loading text with large numbers
  • Mesh Viewer – Properly center the camera and fix continuous rendering
  • Pixel History – better support for _TYPELESS formats
  • Add a vertical scrollbar for the buffer viewer
  • Fix type cast warnings in programmatic capture API

Also in this release, the previous implementation of timing captures has been removed.


Discussion is closed.

Feedback usabilla icon