{"id":2945,"date":"2017-07-25T22:52:26","date_gmt":"2017-07-25T22:52:26","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/pix\/?page_id=2945"},"modified":"2017-07-25T22:52:26","modified_gmt":"2017-07-25T22:52:26","slug":"pixtool","status":"publish","type":"page","link":"https:\/\/devblogs.microsoft.com\/pix\/pixtool\/","title":{"rendered":"pixtool.exe"},"content":{"rendered":"<p>pixtool.exe is a command line utility for taking and analyzing PIX GPU captures.\u00a0 It installs to the same location as the rest of PIX, under &#8220;%programfiles%\\Microsoft PIX&#8221;.<\/p>\n<p>Current pixtool features:<\/p>\n<ul>\n<li>Launch UWP or Win32 applications for GPU capture<\/li>\n<li>Take GPU captures<\/li>\n<li>Open existing GPU captures<\/li>\n<li>List the available GPU counters<\/li>\n<li>Save event list data (which can include columns of your choosing such as timing or GPU counter data) in CSV format<\/li>\n<li>Force playback with the Direct3D debug layer enabled<\/li>\n<li>Extract the screenshot (which was recorded when the original capture was taken) to a PNG file<\/li>\n<li>Save out the contents of a rendertarget or depth buffer after playing back a capture<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>Run \u201c<strong>pixtool &#8211;help<\/strong>\u201d for detailed usage instructions.<\/p>\n<p>&nbsp;<\/p>\n<p>Example:<\/p>\n<blockquote><p>&gt; pixtool.exe open-capture citydemo.pix3 save-event-list events.csv &#8211;counter-groups=D3D*\n0.0: Launching GpuPlayback engine\n0.1: Opening pix\\citydemo.pix3#0\n0.2: Starting analysis on localhost\n2.7: Getting event list for 22 columns on Graphics Queue 0\n2.9: Writing events.csv<\/p><\/blockquote>\n<p>The resulting events.csv file can then be processed by other tools, or loaded into Excel:<\/p>\n<p><a href=\"https:\/\/msdnshared.blob.core.windows.net\/media\/2017\/07\/pixtool_csv.png\"><img decoding=\"async\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/2017\/07\/pixtool_csv.png\" alt=\"\" class=\"alignnone size-full wp-image-2955\" width=\"863\" height=\"502\" srcset=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2017\/07\/pixtool_csv.png 863w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2017\/07\/pixtool_csv-300x175.png 300w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2017\/07\/pixtool_csv-768x447.png 768w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>To save out the contents of rtv0 after playing back the entire capture:<\/p>\n<blockquote><p>&gt; pixtool.exe open-capture mycapture.pix3 save-resource out.png<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>To save out the contents of the depth buffer after playing back up to the end of the \u201cTerrain\u201d PIX marker region:<\/p>\n<blockquote><p>&gt; pixtool.exe open-capture mycapture.pix3 save-resource out.png &#8211;marker=Terrain &#8211;depth<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>pixtool.exe is a command line utility for taking and analyzing PIX GPU captures.\u00a0 It installs to the same location as the rest of PIX, under &#8220;%programfiles%\\Microsoft PIX&#8221;. 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 [&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-2945","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/pages\/2945","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=2945"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/pages\/2945\/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=2945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}