Browsed by
Month: 2024年4月

[DirectX] PIX と Graphics Debugger

[DirectX] PIX と Graphics Debugger

PIX は Microsoft から提供されている、DirectX アプリケーションの Graphics Debugger ツールです。フレームキャプチャやパフォーマンスチューニングの機能を持っています。

DirectX 11(Windows 7)の頃までは DirectX SDK に付属する形で「PIX for Windows(PIXWin.exe)」というスタンドアロンのツールが提供されていましたが、Winodws 8 の時代になると DirectX SDK は Windows SDK に統合される形になり、そのタイミングで PIX for Windows は機能の開発や提供は一時的に終了となりました。

代わりに出てきたのが、Visual Studio に統合する形で提供された Graphics Debugger(Graphics Diagnostics)というツールでした。これは Visual Studio 2012 から利用できるようになり、Visual Studio 上でコーディングから DIrectX アプリケーションのデバッグまでを行うことが可能となりました。当初は DirectX 10/11 の対応でしたが、2015年にリリースされた Windows 10 と Visual Studio 2015 からは DirectX 12 にも対応しています。

DirectX Tools for Windows 10 in Visual Studio 2015
https://learn.microsoft.com/en-us/shows/connecton-demand/212

動画を見てもらえれば分かるように Visual Studio 上で DirectX のパフォーマンス解析や Frame Capture などが行えています。

新規 PIX の提供

https://devblogs.microsoft.com/pix/introducing-pix-on-windows-beta/

暫くの間、Windows のグラフィックスデバッガは Visual Studio 上のツールとして提供されていましたが、2017年1月には別の動きがありました。DirectX SDK での更新を最後に止まっていた Windows 向けの PIX が新規ツールとして再び提供されるようになりました。

こちらは DirectX 12 のみに対応しており(後にD3D11on12には対応)UI なども一新され、名称も「PIX for Windows」から「PIX on Windows」と僅かに変更がありました。

そして、新規 PIX がリリースされた約1年後、2018年にリリースされた Windows10 1809 からは、以前まで利用できていた Visual Studio 上の Graphics Debugging のサポートも打ち切りとなりました。

DirectX12 debugging in Visual Studio is no longer supported by the Windows team in 1809 and the recommended path forward is to use their PIX for Windows app.

https://developercommunity.visualstudio.com/t/visual-studio-directx-graphics-debugging-tool-can/417292

そのため、Microsoft から提供される DirectX アプリケーションの Graphics Debugger は再び PIX に一本化されることとなりました。

PIX の更新

2024年現在 PIX は年に数回と、かなりの高頻度でアップデートが行われています。

特に Agility SDK の更新に追随する形でデバッグ機能もサポートした PIX も同時にリリースしてくれているので、手探りの状態で進めないといけない新規機能の対応などでは PIX が非常に活躍してくれます。

参考

https://devblogs.microsoft.com/pix/download/