{"id":4908,"date":"2020-08-27T13:54:18","date_gmt":"2020-08-27T20:54:18","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/pix\/?p=4908"},"modified":"2020-08-27T13:54:18","modified_gmt":"2020-08-27T20:54:18","slug":"pix-2008-26-perf","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/pix\/pix-2008-26-perf\/","title":{"rendered":"PIX 2008.26: Performance Improvements"},"content":{"rendered":"<p><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">Earlier today we released PIX on Windows version 2008.<\/span><\/span><span class=\"TextRun Highlight SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">26<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">, featuring a 100,000+ line rewrite of our component that takes GPU Captures. Morgan has described this release\u2019s functional improvements in her\u00a0<\/span><\/span><a href=\"https:\/\/devblogs.microsoft.com\/pix\/pix-2008-26-new-capture-layer\/\"><span class=\"TextRun Highlight SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">blog post<\/span><\/span><\/a><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">, but\u00a0<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">here we\u2019ll<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">\u00a0take a closer look at\u00a0<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">the<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">\u00a0<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">new\u00a0<\/span><\/span><span class=\"TextRun SCXW72757159 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72757159 BCX8\">performance improvements.<\/span><\/span><span class=\"EOP SCXW72757159 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"1\"><span data-contrast=\"none\">Recap: GPU Captures in PIX on Windows<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">As a reminder, developers can use\u00a0<\/span><i><span data-contrast=\"auto\">GPU Captures<\/span><\/i><span data-contrast=\"auto\">\u00a0in PIX to record the D3D12 GPU work\u00a0<\/span><span data-contrast=\"auto\">performed<\/span><span data-contrast=\"auto\">\u00a0by a region of their game or application, and then later play back the work in a controlled environment. This controlled environment allows developers to debug their GPU work or to analyze its performance.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To take a GPU Capture in PIX on Windows, you must first launch your\u00a0<\/span><span data-contrast=\"auto\">game or\u00a0<\/span><span data-contrast=\"auto\">application under GPU Capture through the PIX UI. You can then interact with your\u00a0<\/span><span data-contrast=\"auto\">game\/<\/span><span data-contrast=\"auto\">application (for example: by playing the game) until you reach a region that you would like to capture. When ready, you<\/span><span data-contrast=\"auto\">\u00a0can<\/span><span data-contrast=\"auto\">\u00a0trigger a PIX\u00a0<\/span><span data-contrast=\"auto\">capture,<\/span><span data-contrast=\"auto\">\u00a0and PIX will start to serialize the D3D12 GPU work into a capture file.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"1\"><span data-contrast=\"none\">Capture-Time<\/span><span data-contrast=\"none\">\u00a0Framerate<\/span><span data-contrast=\"none\">\u00a0Improvements<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">We\u2019re proud to share that we have dramatically increased the framerates of games launched under GPU Capture in PIX on Windows<\/span><span data-contrast=\"auto\">. In all cases that we\u2019ve seen, DirectX 12 games\u00a0<\/span><span data-contrast=\"auto\">that<\/span><span data-contrast=\"auto\">\u00a0used to run at low framerates\u00a0<\/span><span data-contrast=\"auto\">under GPU Capture<\/span><span data-contrast=\"auto\">\u00a0now run\u00a0<\/span><span data-contrast=\"auto\">at much higher framerates. They will typically run fast enough that you won\u2019t even notice that PIX is present<\/span><span data-contrast=\"auto\">, which\u00a0<\/span><span data-contrast=\"auto\">will<\/span><span data-contrast=\"auto\">\u00a0make it<\/span><span data-contrast=\"auto\">\u00a0a lot easier to\u00a0<\/span><span data-contrast=\"auto\">play the game\u00a0<\/span><span data-contrast=\"auto\">and\u00a0<\/span><span data-contrast=\"auto\">get<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">to the<\/span><span data-contrast=\"auto\">\u00a0region that you\u2019d like to capture.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Here\u00a0<\/span><span data-contrast=\"auto\">is\u00a0<\/span><span data-contrast=\"auto\">a selection of games and the improvements they&#8217;ve seen:<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4921\" src=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates.png\" alt=\"\" width=\"2048\" height=\"1154\" srcset=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates.png 2048w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates-300x169.png 300w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates-1024x577.png 1024w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates-768x433.png 768w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates-1536x866.png 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 10pt;\"><em>(Each game&#8217;s numbers were taken with the default settings for each GPU, except that VSYNCs were turned off and any dynamic settings were changed to a fixed value.)<\/em><\/span><\/p>\n<p><span data-contrast=\"auto\">We have seen\u00a0<\/span><span data-contrast=\"auto\">similar improvements<\/span><span data-contrast=\"auto\">\u00a0in many other AAA games, including games from third<\/span><span data-contrast=\"auto\">-party studios<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">who\u00a0<\/span><span data-contrast=\"auto\">have tried out p<\/span><span data-contrast=\"auto\">review builds over the past few months.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">As you\u2019d expect,<\/span><span data-contrast=\"auto\">\u00a0PIX on Windows continues\u00a0<\/span><span data-contrast=\"auto\">to\u00a0<\/span><span data-contrast=\"auto\">support all D3D12 functionality that we\u2019ve seen DirectX 12 applications use, including:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Tiled\/reserved resources<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">DirectX Raytracing<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><a href=\"https:\/\/devblogs.microsoft.com\/directx\/announcing-directx-12-ultimate\/\"><span data-contrast=\"none\">DirectX 12 Ultimate<\/span><\/a><span data-contrast=\"auto\">\u00a0(Mesh Shaders, VRS, Sampler Feedback)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"2\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">DXIL<\/span><span data-contrast=\"auto\">\u00a0(including shader debugging)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">All<\/span><span data-contrast=\"auto\">\u00a0modern DirectX 12 hardware from AMD, Intel, NVIDIA and Qualcomm continues to be supported too.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Some games\/applications ran at <\/span><span data-contrast=\"auto\">high<\/span><span data-contrast=\"auto\">\u00a0framerates with older versions of PIX, and they continue to run well\u00a0<\/span><span data-contrast=\"auto\">with<\/span><span data-contrast=\"auto\">\u00a0the latest version. These games\u00a0<\/span><span data-contrast=\"auto\">typically either<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">are <\/span><span data-contrast=\"auto\">GPU bound,<\/span><span data-contrast=\"auto\">\u00a0run at very high framerates outside PIX,<\/span><span data-contrast=\"auto\">\u00a0or\u00a0<\/span><span data-contrast=\"auto\">make<\/span><span data-contrast=\"auto\">\u00a0fewer calls into the D3D runtime per frame than other games<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4922\" src=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2.png\" alt=\"\" width=\"2048\" height=\"760\" srcset=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2.png 2048w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2-300x111.png 300w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2-1024x380.png 1024w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2-768x285.png 768w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/CaptureTimeFramerates2-1536x570.png 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"1\"><span data-contrast=\"none\">Replay-Time Performance Improvements<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">In addition to capture-time performance improvements, this rewrite also\u00a0<\/span><span data-contrast=\"auto\">unblock<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0replay-time performance improvements that were not feasible in previous versions of PIX. We have already implemented some of these improvements in this release, and we will continue to implement more of them over the coming months. We anticipate tha<\/span><span data-contrast=\"auto\">t, when implemented,<\/span><span data-contrast=\"auto\">\u00a0the combination of these improvements will significantly improve replay\u00a0<\/span><span data-contrast=\"auto\">speed<\/span><span data-contrast=\"auto\">\u00a0for all captures in future version<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0of PIX.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In the meantime, t<\/span><span data-contrast=\"auto\">he improvements in\u00a0<\/span><span data-contrast=\"auto\">t<\/span><span data-contrast=\"auto\">his release should make<\/span><span data-contrast=\"auto\">\u00a0performance analysis features (such as Collect Timing Data or High Frequency Counters) much faster for some games\/applications. Games that use\u00a0<\/span><span data-contrast=\"auto\">tiled\/reserved<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">resources are particularly likely to see improvements.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4925\" src=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame.png\" alt=\"\" width=\"2048\" height=\"1154\" srcset=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame.png 2048w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame-300x169.png 300w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame-1024x577.png 1024w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame-768x433.png 768w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayMsGame-1536x866.png 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4926\" src=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears.png\" alt=\"\" width=\"2048\" height=\"1154\" srcset=\"https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears.png 2048w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears-300x169.png 300w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears-1024x577.png 1024w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears-768x433.png 768w, https:\/\/devblogs.microsoft.com\/pix\/wp-content\/uploads\/sites\/41\/2020\/08\/ReplayGears-1536x866.png 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"1\"><span data-contrast=\"none\">Feedback<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">We hope that you\u2019ll like these improvements. Please get in touch with us if you experience problems with this new version of PIX, or if you have any feedback or suggestions!<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3 aria-level=\"1\"><span data-contrast=\"none\">Special Thanks<\/span><\/h3>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"3\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Various\u00a0<\/span><span data-contrast=\"auto\">game<\/span><span data-contrast=\"auto\">\u00a0studios<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">including Microsoft Game Studios teams and third-party\u00a0<\/span><span data-contrast=\"auto\">studios<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">for their help testing<\/span><span data-contrast=\"auto\">\u00a0preview\u00a0<\/span><span data-contrast=\"auto\">PIX\u00a0<\/span><span data-contrast=\"auto\">builds over the past few months.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"3\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">GPU IHVs\u00a0<\/span><span data-contrast=\"auto\">for their help testing<\/span><span data-contrast=\"auto\">\u00a0preview builds on their hardware<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"3\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"http:\/\/www.nixxes.com\/\"><span data-contrast=\"none\">Nixxes<\/span><\/a><span data-contrast=\"auto\">, for permission to use Shadow of the Tomb Raider in these charts.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Earlier today we released PIX on Windows version 2008.26, featuring a 100,000+ line rewrite of our component that takes GPU Captures. Morgan has described this release\u2019s functional improvements in her\u00a0blog post, but\u00a0here we\u2019ll\u00a0take a closer look at\u00a0the\u00a0new\u00a0performance improvements.\u00a0 &nbsp; Recap: GPU Captures in PIX on Windows\u00a0 As a reminder, developers can use\u00a0GPU Captures\u00a0in PIX to [&hellip;]<\/p>\n","protected":false},"author":1899,"featured_media":4769,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pix"],"acf":[],"blog_post_summary":"<p>Earlier today we released PIX on Windows version 2008.26, featuring a 100,000+ line rewrite of our component that takes GPU Captures. Morgan has described this release\u2019s functional improvements in her\u00a0blog post, but\u00a0here we\u2019ll\u00a0take a closer look at\u00a0the\u00a0new\u00a0performance improvements.\u00a0 &nbsp; Recap: GPU Captures in PIX on Windows\u00a0 As a reminder, developers can use\u00a0GPU Captures\u00a0in PIX to [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/posts\/4908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/users\/1899"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/comments?post=4908"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/posts\/4908\/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=4908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/categories?post=4908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/pix\/wp-json\/wp\/v2\/tags?post=4908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}