{"id":5951,"date":"2009-12-07T16:35:00","date_gmt":"2009-12-07T16:35:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2009\/12\/07\/some-wpf-designer-performance-improvements\/"},"modified":"2018-08-14T00:21:15","modified_gmt":"2018-08-14T00:21:15","slug":"some-wpf-designer-performance-improvements","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/some-wpf-designer-performance-improvements\/","title":{"rendered":"Some WPF Designer Performance Improvements"},"content":{"rendered":"<p>We&#8217;ve heard loud and clear that the WPF designer performance in Beta 2 was unacceptable.&#160; Well, in a good kind of way, we knew that before we shipped Beta 2.&#160; This was one case where our performance tests were telling us the right thing.&#160; We discovered some issues late in the Beta 2 cycle (partially a regression, I think) and didn&#8217;t have time to fully test a solution to address the performance issues.&#160; We did code it up and include it in the Beta but you have to use a registry key to enable it.&#160; Here&#8217;s thread on it if you want to give it a try:<\/p>\n<p><a href=\"http:\/\/social.msdn.microsoft.com\/Forums\/en-US\/vswpfdesigner\/thread\/4511d43f-c134-4329-a970-e374252a620e\">http:\/\/social.msdn.microsoft.com\/Forums\/en-US\/vswpfdesigner\/thread\/4511d43f-c134-4329-a970-e374252a620e<\/a><\/p>\n<p>This change will often address slowness and random pauses in the WPF designer.&#160; It&#8217;s not the only cause but we&#8217;ve found most people who try it see good results.&#160; We&#8217;ve since had time to finish it and it is on permanently from here on out.<\/p>\n<p>Today I saw some perfmon graphs that demonstrate how WPF designer overhead is improving over time.<\/p>\n<p>This first graph is from Beta 2 without the reg key flipped.&#160; The very first spike is the CPU hit to open a C# file.&#160; the rest is the CPU hit to open an empty XAML file.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001_2.jpg\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"clip_image001\" border=\"0\" alt=\"clip_image001\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001_thumb.jpg\" width=\"148\" height=\"84\" \/><\/a><\/p>\n<p>Here&#8217;s the state with the reg key flipped.&#160; Don&#8217;t be suprised that the reg key didn&#8217;t make a huge difference in this scenario.&#160; It makes a much bigger difference in other scenarios.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B4%5D.jpg\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"clip_image001[4]\" border=\"0\" alt=\"clip_image001[4]\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B4%5D_thumb.jpg\" width=\"140\" height=\"84\" \/><\/a><\/p>\n<p>And here&#8217;s the current graph for the same thing with current bits.&#160; As you can see, it continued to improve.<\/p>\n<p><span><span><\/span><\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B6%5D.jpg\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"clip_image001[6]\" border=\"0\" alt=\"clip_image001[6]\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/8\/2019\/02\/clip_image001%5B6%5D_thumb.jpg\" width=\"100\" height=\"84\" \/><\/a><\/p>\n<p><span><span><span>Brian<\/span><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve heard loud and clear that the WPF designer performance in Beta 2 was unacceptable.&#160; Well, in a good kind of way, we knew that before we shipped Beta 2.&#160; This was one case where our performance tests were telling us the right thing.&#160; We discovered some issues late in the Beta 2 cycle (partially [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[4],"class_list":["post-5951","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>We&#8217;ve heard loud and clear that the WPF designer performance in Beta 2 was unacceptable.&#160; Well, in a good kind of way, we knew that before we shipped Beta 2.&#160; This was one case where our performance tests were telling us the right thing.&#160; We discovered some issues late in the Beta 2 cycle (partially [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/5951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=5951"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/5951\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=5951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=5951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=5951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}