PIX is a performance tuning and debugging tool for Windows and Xbox game developers using DirectX 12. It provides three main modes of operation:
- GPU captures for debugging and analyzing the performance of Direct3D 12 graphics rendering.
- Timing captures for understanding the performance and threading of all CPU and GPU work carried out by your game.
- System Monitor displays realtime counter data while a game is running.
위 설명에서도 볼 수 있듯이 DX12를 사용한 프로그램을 Rendering Pipline 단계별로 나눠 보면서 디버길 할 수 있도록 도와주는 툴입니다.
먼저 Launch Win32를 이용해서 직접 실행시키는 방법이 있습니다.

두 번째 방법으로 프로그램을 실행시킨 후, Attach를 이용해서 연결하는 방법이 있습니다.

위의 방법으로 프로그램을 연동한 후에 원하는 프레임을 Capture하고 그것을 디버깅에 사용할 수 있습니다.
캡쳐한 내부 데이터를 확인하는 방법을 간략하게 보면

위와 같은 구성을 가지는 인터페이스를 볼 수 있는데 명령 단계를 설정하고 왼쪽 아래 패널에서 구체적인 데이터를 확인할 수 있습니다.
VS에서 사용한 정점, CB로 넘긴 데이터 등등 원하는 Command와 Data를 클릭하여 값을 확인하여 프레임에 대한 디버깅을 수행합니다.

Visual Studio에서 지원하는 것과 같이 Shader Debuging 또한 지원하는데, Shader Usage 패널에서 디버깅을 원하는 값을 더블 클릭하면 아래에 'Sources 패널'이 보이게되고, 여기서 원하는 Shader의 초록 버튼을 클릭하면 디버깅이 실행됩니다.
