PIX on Windows

Performance tuning and debugging for DirectX 12 games on Windows

pixtool.exe

pixtool.exe is a command line utility for taking and analyzing PIX GPU captures.  It installs to the same location as the rest of PIX, under “%programfiles%\Microsoft PIX”.

Current pixtool features:

  • Launch UWP or Win32 applications for GPU capture
  • Take GPU captures
  • Open existing GPU captures
  • List the available GPU counters
  • Save event list data (which can include columns of your choosing such as timing or GPU counter data) in CSV format
  • Force playback with the Direct3D debug layer enabled
  • Extract the screenshot (which was recorded when the original capture was taken) to a PNG file
  • Save out the contents of a rendertarget or depth buffer after playing back a capture

By comparing the extracted screenshot with a rendertarget produced by PIX playback, pixtool can be used for automated testing that validates playback is producing the expected results.

Run “pixtool –help” for detailed usage instructions.

 

Example:

> pixtool.exe open-capture citydemo.pix3 save-event-list events.csv –counter-groups=D3D* 0.0: Launching GpuPlayback engine 0.1: Opening pix\citydemo.pix3#0 0.2: Starting analysis on localhost 2.7: Getting event list for 22 columns on Graphics Queue 0 2.9: Writing events.csv

The resulting events.csv file can then be processed by other tools, or loaded into Excel:

 

To save out the contents of rtv0 after playing back the entire capture:

> pixtool.exe open-capture mycapture.pix3 save-resource out.png

 

To save out the contents of the depth buffer after playing back up to the end of the “Terrain” PIX marker region:

> pixtool.exe open-capture mycapture.pix3 save-resource out.png –marker=Terrain –depth