{"id":1855,"date":"2016-11-22T05:02:31","date_gmt":"2016-11-22T05:02:31","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/pix\/?page_id=1855"},"modified":"2023-03-16T08:55:36","modified_gmt":"2023-03-16T15:55:36","slug":"documentation","status":"publish","type":"page","link":"https:\/\/devblogs.microsoft.com\/pix\/documentation\/","title":{"rendered":"Documentation"},"content":{"rendered":"<p>The first step in using PIX is to <a href=\"https:\/\/devblogs.microsoft.com\/pix\/taking-a-capture\/\">take a capture.<\/a><\/p>\n<p>Learn about the available capture types:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/gpu-captures\/\">GPU captures<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/timing-captures-new\/\">Timing captures<\/a>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/analyzing-cpu-samples-in-timing-captures\/\">Analyzing CPU samples<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/analyzing-stalls-and-context-switches-in-timing-captures\/\">Analyzing stalls and context switches<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/analyzing-memory-usage-and-performance-in-timing-captures\/\">Analyzing Memory usage and performance<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/analyzing-win32-file-io-performance-in-timing-captures\/\">Analyzing Win32 File IO performance<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/converting-previous-versions-of-timing-captures\/\">Converting previous versions of Timing Captures<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/system-monitor\/\">System Monitor<\/a><\/li>\n<\/ul>\n<p>For best results, instrument your game using the <a href=\"https:\/\/devblogs.microsoft.com\/pix\/winpixeventruntime\/\">WinPixEventRuntime.<\/a><\/p>\n<p>Last but not least:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/remoting\/\">Use remoting<\/a> to run the user interface and capture\/analysis on different machines.<\/li>\n<li>Use <a href=\"https:\/\/devblogs.microsoft.com\/pix\/pixtool\/\">pixtool.exe<\/a> to take and analyze GPU captures from the command line.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/programmatic-capture\/\">Programmatically control<\/a> when a GPU capture or a Timing Capture should be taken from inside your game code.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/tdr-debugging\/\">Debug TDR<\/a> problems (aka GPU hang \/ device removal).<\/li>\n<li>Understand <a href=\"https:\/\/devblogs.microsoft.com\/pix\/gpu-memory-usage\/\">GPU memory usage<\/a>, heap residency and paging.<\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/pix\/hybrid-graphics\/\">Configure which GPU<\/a> PIX should use on hybrid graphics systems.<\/li>\n<li>Learn how to manage PIX <a href=\"https:\/\/devblogs.microsoft.com\/pix\/window-arrangement\/\">window arrangement.<\/a><\/li>\n<li>Learn how to handle <a href=\"https:\/\/devblogs.microsoft.com\/pix\/using-automatic-shader-pdb-resolution-in-pix\/\">shader debug information<\/a> in a way that works well with PIX on Windows.<\/li>\n<\/ul>\n<p>If you prefer watching to reading, a <a href=\"https:\/\/www.youtube.com\/playlist?list=PLeHvwXyqearWuPPxh6T03iwX-McPG5LkB\">video introduction to PIX on Windows<\/a> is available from the <a href=\"https:\/\/www.youtube.com\/channel\/UCiaX2B8XiXR70jaN7NK-FpA\">Microsoft DirectX 12 and Graphics Education<\/a> YouTube channel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first step in using PIX is to take a capture. Learn about the available capture types: GPU captures Timing captures Analyzing CPU samples Analyzing stalls and context switches Analyzing Memory usage and performance Analyzing Win32 File IO performance Converting previous versions of Timing Captures System Monitor For best results, instrument your game using the [&hellip;]<\/p>\n","protected":false},"author":1719,"featured_media":4769,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1855","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/pages\/1855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/users\/1719"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/comments?post=1855"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/pages\/1855\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/media\/4769"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/media?parent=1855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}