PIX 2103.16: Recently Launched Apps, Environment Variables, Camera Improvements in the Mesh Viewer

Morgan Grobin

Today we released PIX version 2103.16, which can be downloaded here. This release adds some improvements to the application launch experience. We’ve added a way to view and recall your recently launched applications, including all configuration options. Also, you can now launch applications through PIX with environment variables. Read through the post below to learn more about these features and other new additions.

We’re always looking for your feedback – you can reach us via email by clicking the Feedback button in the top right corner of PIX, or join us over in the #pix channel on the DirectX Discord!

Launch History

PIX saves the launch configuration options for your 10 most recently launched applications, saving you time when switching between multiple games under development. Access your history using the “Recent…” button in the Select Target Process box. Launch history persists even if you close PIX and open it later.

Gif showing the Recent... button in PIX

History is also saved for UWP applications.


Screenshot of the Select Target Process box. The Recents button has been clicked, which opened up a tooltip with a list of UWP apps. Remove featured image

Environment Variables

You can now set environment variables to include when launching your applications. Environment variables are also included in the recently launched history.

GIF showing the process of changing and deleting environment variables.

We also added the —setenv parameter to pixtool that lets you provide environment variables in the form “VARNAME=VARVALUE”. You can include multiple environment variables in one command ex. –setenv=”VAR1=VALUE1” –setenv=”VAR2=VALUE2”.

Multiple Cameras in the Mesh Viewer

This release adds the ability to create multiple cameras in the mesh viewer. When viewing large TLASes it’s useful to setup several cameras in the world and quickly move between them. Type a camera name into the combo box and press Enter to create a new camera. Camera locations are not saved when the capture file is saved. The camera options in the mesh viewer are a work in progress, expect some more improvements here in a future release. If you have any feedback on this functionality, get in touch!

gif showing how to set multiple cameras

Other Changes

  • Timing Captures: Added more data from the two Stack Tree node selections to the Element Details view, including the counts, percentages, unfreed sizes, top callers/callees by inclusive count, and a list of the contributing threads.
  • Fixed UI crash with shader tables whose ShaderRecordStrideInBytes=0.
  • Fix for ID3D12Resource::Map() failing with E_NOTIMPL under GPU Capture for placed resources in heaps created via OpenExistingHeapFromAddress(). ID3D12Resrouce::Map() now succeeds, but with no CPU write tracking. If you make CPU writes to one of these heaps, then replay may be incorrect.
  • On hybrid devices, ignore DXGI’s internal iGPU D3D11 device when capturing pure D3D11 app via 11On12, fixing programmatic GPU capture issues for Hololens 2.
  • Capture and log more OS version information during GPU capture, visible in the System Info pane.
  • Allow setting breakpoints in included HLSL file in shader debugging.
  • Added support for new D3D12 features, ID3D12Device9::CreateCommandQueue1 and the new Shader Cache APIs.
  • Fix Pixel History for tiled resources.
  • Fix TLAS build capture/replay issue on COMPUTE queues, if instance buffer was created in DIRECT-only state.
  • Add support for ID3DDestructionNotifier.
  • Fix capture/replay of apps that use POSTBUILD_INFO_CURRENT_SIZE in BuildRaytracingAccelerationStructure.
  • Fix some state object capture/replay issues with large state objects.



Discussion is closed.

Feedback usabilla icon