<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>WPF Performance and .NET Framework Client Profile</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jgoldb/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jgoldb/feed.xml</link>
    <description>WPF performance and .NET Framework Client Profile related blogs provided by Jossef Goldberg.</description>
    <lastBuildDate>Wed, 24 Feb 2016 14:38:31 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>CLR Profiler for .NET Framework 4 is now available</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/clr-profiler-for-net-framework-4-is-now-available</link>
      <pubDate>Wed, 02 Feb 2011 18:49:25 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2011/02/02/clr-profiler-for-net-framework-4-is-now-available/</guid>
      <description><![CDATA[David Bronman just posted a new version of the CLR Profiler that now also supports .NET Framework 4...]]></description>
      <content:encoded><![CDATA[<p><font size="2">David Bronman just posted a new version of the CLR Profiler that now also supports .NET Framework 4 as well as Silverlight 4.&#160; <br />Key Features:</font></p>  <ul>   <li><font size="2">Allows you to profile managed memory that uses .NET 2.0, 3.0, 3.5, or 4.&#160; <br />(However, you must always have .NET 4.0 installed on your box in order to use CLRProfiler V4, as CLRProfiler itself contains managed code that depends on .NET 4) </font></li>    <li><font size="2">Can target <strong>Silverlight 4</strong> web apps. </font></li>    <li><font size="2">Can <strong>attach to and detach from</strong> live processes, to generate heap graphs.&#160; <br />(Note:&#160; This feature requires the process to be running .NET 4.0, does not work against Silverlight, and does not allow gathering allocation call stacks.) </font></li>    <li><font size="2">Understands <strong>in-process side-by-side CLR instances</strong>, and can allow you to pick which CLR instance from a given process to profile </font></li> </ul>  <p><font size="2">See more details </font><a title="here" href="https://blogs.msdn.com/b/davbr/archive/2011/02/01/clrprofiler-v4-released.aspx" target="_blank"><font size="2">here</font></a><font size="2">.</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Memory Leak Hotfixes for WPF 4</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/memory-leak-hotfixes-for-wpf-4</link>
      <pubDate>Fri, 08 Oct 2010 12:12:15 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/10/08/memory-leak-hotfixes-for-wpf-4/</guid>
      <description><![CDATA[In the Memory Leak Hotfixes for WPF 3.5 SP1 blog post I mentioned that the memory leak fixes that...]]></description>
      <content:encoded><![CDATA[<p><font size="2">In the </font><a title="Memory Leak Hotfixes for WPF 3.5 SP1" href="https://blogs.msdn.com/b/jgoldb/archive/2010/06/14/memory-leak-hotfixes-for-wpf-3-5-sp1.aspx" target="_blank"><font size="2">Memory Leak Hotfixes for WPF 3.5 SP1</font></a><font size="2"> blog post I mentioned that the memory leak fixes that went into </font><a href="https://support.microsoft.com/kb/981107" target="_blank"><font size="2">KB981107</font></a><font size="2"> were only available for WPF 3.5 SP1. I am now happy to announce that these memory leak fixes are also available for WPF 4.&#160; </font></p>  <p><font size="2">You can get the fixes for WPF 4 from here: </font><a href="https://support.microsoft.com/kb/2297328" target="_blank"><font size="2">https://support.microsoft.com/kb/2297328</font></a>    <br />    <br /><font size="2">Enjoy. Jossef</font></p>  <p><font size="3"></font></p>  <p><font size="3"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>New Silverlight Performance Blog</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/new-silverlight-performance-blog</link>
      <pubDate>Wed, 25 Aug 2010 12:16:29 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/08/25/new-silverlight-performance-blog/</guid>
      <description><![CDATA[Wanted folks know that we have started a new Blog that is dedicated to Silverlight performance....]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="cal">Wanted folks know that we have started a new Blog that is dedicated to Silverlight performance.     <br />We have uploaded two posts: </font></p>  <ul>   <li><a href="https://blogs.msdn.com/b/slperf/archive/2010/08/13/silverlight-startup-best-practices.aspx"><font color="#0000ff" size="2" face="cal">Silverlight Startup Best Practices</font></a><font color="#0000ff" size="2" face="cal"> </font></li>    <li><a href="https://blogs.msdn.com/b/slperf/archive/2010/08/19/analyzing-silverlight-memory-usage-part-1-obtaining-measurements.aspx"><font color="#0000ff" size="2" face="cal">Analyzing Silverlight Memory Usage: Part 1 – Obtaining Measurements</font></a><font color="#0000ff" size="2" face="cal"> </font></li> </ul>  <p><font size="2" face="cal">We plan to add additional posts in the near future, so please stay tune. </font></p>]]></content:encoded>
    </item>
    <item>
      <title>TimeZone patch to WPF Performance Profiling Tools for WPF 4 is now available</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/timezone-patch-to-wpf-performance-profiling-tools-for-wpf-4-is-now-available</link>
      <pubDate>Tue, 24 Aug 2010 13:35:26 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/08/24/timezone-patch-to-wpf-performance-profiling-tools-for-wpf-4-is-now-available/</guid>
      <description><![CDATA[In the WPFPerf Performance Profiling Tools for WPF 4 is now available! post, I mentioned that a bug...]]></description>
      <content:encoded><![CDATA[<p>In the <a href="https://blogs.msdn.com/b/jgoldb/archive/2010/05/25/wpfperf-performance-profiling-tools-for-wpf-4-is-now-available.aspx">WPFPerf Performance Profiling Tools for WPF 4 is now available!</a> post, I mentioned that a bug caused the <span style="color: #333333">Visual Profiler to not display any data in certain time zones.     <br />A patch is now <a href="https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=da041972-1eb6-4a8a-97d7-d495b314505e">available</a> to fix this issue.       <br />To install the patch: </span></p>  <ol>   <li><span style="color: #333333">Install the WPF Performance Tool like you normally would by installing the <a href="https://go.microsoft.com/fwlink/?LinkID=191420">Windows SDK for Windows 7 and .NET Framework 4</a> (Windows SDK 7.1) </span></li>    <li><span style="color: #333333">Install the patch from <a href="https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=da041972-1eb6-4a8a-97d7-d495b314505e">https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=da041972-1eb6-4a8a-97d7-d495b314505e</a> </span></li>    <li>     <div><span style="color: #333333">When you get to this dialog, click on 'Repair'&#160; <br /></span><span style="color: #333333"> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/8244.wpfperfpatch1_72E72D6F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/8244.wpfperfpatch1_5F00_72E72D6F.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="wpfperfpatch1" border="0" alt="wpfperfpatch1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/6175.wpfperfpatch1_thumb_1D72E880.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/6175.wpfperfpatch1_5F00_thumb_5F00_1D72E880.png" width="376" height="299" /></a>&#160;</span></div>   </li>    <li>     <div><span style="color: #333333">On next dialog click 'Repair' again.&#160; <br /></span><span style="color: #333333"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/2364.wpfperfpatch2_6B0F1500.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/2364.wpfperfpatch2_5F00_6B0F1500.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="wpfperfpatch2" border="0" alt="wpfperfpatch2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/8637.wpfperfpatch2_thumb_2EE34958.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/8637.wpfperfpatch2_5F00_thumb_5F00_2EE34958.png" width="373" height="295" /></a> </span></div>   </li> </ol>  <p><span style="color: #333333"></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Software Rendering Usage in WPF</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/software-rendering-usage-in-wpf</link>
      <pubDate>Tue, 22 Jun 2010 03:20:57 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/06/22/software-rendering-usage-in-wpf/</guid>
      <description><![CDATA[As you know by default WPF uses Hardware acceleration (GPU) to render its content (aka Hardware...]]></description>
      <content:encoded><![CDATA[<p><span style="color:black">As you know by default WPF uses Hardware acceleration (GPU) to render its content (aka Hardware rendering). <br/>In most cases rendering using Hardware (HW) acceleration is much more performant than rendering using Software.  In some small cases SW rendering may be faster (E.g. low end graphics card sometimes found in Netbooks).
</span></p><p><span style="color:black">WPF will always attempt to use HW rendering, but in certain cases WPF will fall to Software rendering and the application may not be aware of it.<br/>Some folks wanted to better understand all the possible cases, so am I am listed these below.<br/><span style="color:#1f497d"><span style="text-decoration:underline"><strong>WPF will render in Software when:</strong></span><span style="color:black">
				</span></span></span></p><ol><li><span style="color:black">Machine video driver date is old (before 11/2004)
</span></li><li><span style="color:black">WPF detected a "<a href="https://msdn.microsoft.com/en-us/library/ms742196.aspx">Tier 0</a>" graphic card.<br/>This means that no graphics hardware acceleration is supported and DirectX version level is less than version 7.0.
</span></li><li><span style="color:black">The rendered Window's size exceeds the max video card texture size.<br/>One common scenario for this to happen if you have a WPF window spanning across multiple monitors. 
</span></li><li><span style="color:black">You run your application over Remote Desktop Protocol (e.g. Remote Desktop, Terminal Server, Remote Assistant, etc)<br/>Until NET 3.5 SP1 and earlier, remoting between Vista to Vista with DWM on, leveraged a custom WPF primitive remoting protocol. In all other scenarios content was remoted as bitmaps. Starting with the release of NET 3.5 SP1 (including NET 4), WPF renders the application content using a software rasterizer on the server and then remotes the content as bitmaps in <strong>all</strong> cases. Read more <a href="https://blogs.msdn.com/b/jgoldb/archive/2010/02/27/optimizing-visual-studio-2010-and-wpf-applications-for-remote-desktop.aspx">here</a>.
</span></li><li><span style="color:black">Rendering in Virtual Machine.<br/>WPF will try and render in HW but on some VMs the graphic emulator that comes with the VM is not working correctly. User will have to switch to software to fix the problem. 
</span></li><li><span style="color:black">The Application is calling the force Software API. E.g.<br/>
				<span style="color:#1f497d">RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;       <span style="color:black">// Force Software rendering per <strong>Process</strong> – New in NET4<br/>
						<span style="color:#1f497d">hwndTarget.RenderMode = RenderMode.SoftwareOnly;<span style="color:black">        // Force Software rendering per <strong>Window</strong>– Introduced in Net 3.5 SP1
</span></span></span></span></span></li><li><span style="color:black"> You set the global registry key.  E.g.:<br/>(HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics] <br/>"DisableHWAcceleration"=dword:00000000 )<br/><strong>Note:</strong> Since this reg key impacts <span style="text-decoration:underline"><strong>all</strong></span> WPF application consider using this key for testing purposes only.
</span></li><li><span style="color:black">Application uses legacy style <a href="https://msdn.microsoft.com/en-us/library/ms743435.aspx">bitmap effects</a>.<br/>Note: these are obsolete in NET4. 
</span></li><li><span style="color:black">Application printed content.
</span></li><li><span style="color:black">Rasterized content that uses <a href="https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx">RenderTargetBitmap</a>
			</span></li><li><span style="color:black">Tiled content that uses <a href="https://msdn.microsoft.com/en-us/library/system.windows.media.tilebrush.aspx">TileBrush</a>
			</span></li><li><span style="color:black">Use of too many <a href="https://msdn.microsoft.com/en-us/library/system.windows.media.media3d.light.aspx">light</a> objects in your 3D scene.  Read more <a href="https://msdn.microsoft.com/en-us/library/bb613553.aspx">here</a>.
</span></li><li><span style="color:black">Layered windows (only on XP SP2/W2k3 or before that do not have Hotfix installed.  <br/>See: <a href="https://support.microsoft.com/kb/937106/en-us">https://support.microsoft.com/kb/937106/en-us</a>.
</span></li><li><span style="color:black">Graphics hardware failures, such as "Out Of Video Memory" (OOVM). <br/>WPF try to free up video memory and stay in HW rendering but it may not always work and WPF will fall to Software   
</span></li></ol><p><span style="color:black"><strong><br/><span style="color:#1f497d"><span style="text-decoration:underline">Which tools can I use to detect if my app renders in Software?</span><span style="color:black"><br/></span></span></strong>The easiest way is to use Perforator which is included with the <a href="https://blogs.msdn.com/b/jgoldb/archive/2010/05/25/wpfperf-performance-profiling-tools-for-wpf-4-is-now-available.aspx">WPF Performance Profiling Tools</a> and check below check boxes.   <br/>Read more <a href="https://msdn.microsoft.com/en-us/library/aa969767.aspx">here</a>.
</span></p><p><span style="color:black">
		</span></p><div><table style="border-collapse:collapse" border="0"><colgroup><col style="width:114px"/><col style="width:330px"/></colgroup><tbody valign="top"><tr style="height: 21px"><td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black"><strong>Option</strong></span></p></td><td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black"><strong>Description</strong></span></p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black">Draw software rendering with purple tint</span></p></td><td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black">Draws all areas rendered by using the software rendering pipeline with a purple tint. This includes software render targets, software 3D content, and per-primitive software fallback.</span></p></td></tr><tr><td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black">Draw software rendered bitmap effects with red tint</span></p></td><td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"><p><span style="color:black">Draws legacy software rendered bitmap effects with red tint. </span></p></td></tr></tbody></table></div><p><span style="color:black"><span style="text-decoration:underline"><strong><br/><span style="color:#1f497d">How can I detect if my app renders in Software in code?</span></strong></span><span style="color:black"><strong><br/></strong>Check the <a href="https://msdn.microsoft.com/en-us/library/system.windows.media.rendercapability.tier.aspx"><span style="font-family:Arial; font-size:10pt">RenderingCapability.Tier</span></a><span style="font-family:Arial; font-size:10pt"> . </span>You can also listen on the Tier change event.</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Memory Leak Hotfixes for WPF 3.5 SP1</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/memory-leak-hotfixes-for-wpf-3-5-sp1</link>
      <pubDate>Mon, 14 Jun 2010 16:17:00 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/06/14/memory-leak-hotfixes-for-wpf-3-5-sp1/</guid>
      <description><![CDATA[Hopefully folks saw my related blog post Finding Memory Leaks in WPF-based applications .In this...]]></description>
      <content:encoded><![CDATA[<p><span style="color:black">Hopefully folks saw my related blog post <a href="https://blogs.msdn.com/b/jgoldb/archive/2008/02/04/finding-memory-leaks-in-wpf-based-applications.aspx">Finding Memory Leaks in WPF-based applications </a>.<br />In this post below I wanted folks to be aware that we released few other KB Articles (Hotfix) that address other various memory leaks reported in .NET 3.5 SP1. Some of these fixes made it to .NET 4. </span></p>
<p><span style="color:#1f497d"><span style="font-size:12pt"><strong><span style="text-decoration: underline;">1. KB981107</span><span style="font-family:Times New Roman"> </span></strong></span><span style="color:black">(See<span style="color:#1f497d"><strong>: <a href="https://support.microsoft.com/kb/981107"></a></strong><a href="https://support.microsoft.com/kb/981107">https://support.microsoft.com/kb/981107</a>)</span></span></span></p>
<p><span style="color:black">This Hotfix fixes the following memory leaks in .NET 3.5 SP1 WPF-based applications.<br /><strong><span style="text-decoration: underline;">Issue 1</span>:<br /></strong>This affects an app that contains styles or templates that refer to application resources (via StaticResource or DynamicResource), and that creates a large number of elements that use these styles or templates but never need the actual value of the resource.&nbsp; In this situation, the app can leak DeferredAppResourceReference objects, even after the elements themselves have been reclaimed.&nbsp; (In addition, the app can leak WeakReferences and array space, similar to the issues described below.) </span></p>
<p><span style="color:black"></span><span style="color:black">An example:&nbsp; App resources define &nbsp;&nbsp;&lt;sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}"&gt;20&lt;/sys:Double&gt;&nbsp;&nbsp;&nbsp;&nbsp; This creates a resource that's used by any control that can display a horizontal scrollbar.&nbsp; Creating a large number of such controls that never actually display their scrollbar will encounter the leak. </span></p>
<p><span style="color:black"><strong><span style="text-decoration: underline;">Issue 2</span>:<br /></strong>This affects an app that creates a large number of short-lived elements with properties that are data-bound to a DependencyProperty of longer-lived elements.&nbsp;In this situation, the longer-lived elements maintain lists of WeakReference objects, used to notify the short-lived elements about property changes.&nbsp;The app can leak WeakReference objects and the array space to hold them, even after the short-lived elements have been reclaimed. </span></p>
<p><span style="color:black">An example:&nbsp;&nbsp; ListBoxItem binds its HorizontalContentAlignment property to a similar property on its governing ListBox.&nbsp;&nbsp; An app that creates a large number of ListBoxItems (say by doing a large number of additions and deletions to the ListBox's ItemsSource) will encounter the leak. </span></p>
<p><span style="color:black"><strong><span style="text-decoration: underline;">Issue 3</span>:<br /></strong>This issue affects classes derived from TreeView or Selector (including ListBox, ListView, Menu, DataGrid, and many others).&nbsp;&nbsp; These classes register for an internal notification from the KeyboardNavigation class, used for controlling keyboard focus.&nbsp;&nbsp; An app that creates a large number of these elements can leak WeakReference objects and the array space to hold them, even after the elements themselves have been reclaimed. <br />An example:&nbsp; An app that creates a large number of short-lived ListBoxes will encounter the leak.&nbsp; This can happen in a nested scenario, where an outer ListBox displays a collection that undergoes a large number of additions and deletions, and where each item is displayed using an inner ListBox. </span></p>
<p><span style="color:black">These fixes are <strong>not</strong> included in NET4. We are considering this Hotfix also for NET4, but this decision has not been made, so stay tune. </span></p>
<p><span style="color:#1f497d"><strong><span style="font-size:12pt"><span style="text-decoration: underline;">2. KB967634: </span></span>(</strong><span style="color:black">See<span style="color:#1f497d">: <a href="https://support.microsoft.com/kb/967634">https://support.microsoft.com/kb/967634</a><span style="color:black"> ) </span></span></span></span></p>
<p><span style="color:black">This fixes a memory leaks in .NET 3.5 SP1 WPF-based applications when using software 3D rendering involving a VisualBrush or DrawingBrush.<br />This fix is already included in .NET 4. </span></p>
<p><span style="color:#1f497d"><span style="font-size:12pt"><span style="text-decoration: underline;"><strong>3. KB967328 </strong></span><span style="color:black"></span></span>(<span style="color:black">See: <a href="https://support.microsoft.com/Default.aspx?kbid=967328">https://support.microsoft.com/Default.aspx?kbid=967328</a>) </span></span></p>
<p><span style="color:black">This Hotfix fixes memory leaks when a deferred resource isn't inflated due to the resource reference expression hooking up to the <em>Inflated</em> event on the resource dictionary entry.<br />If the resource dictionary is an application or theme dictionary, then these are essentially global and can cause these expressions to stay alive.<br />There are some discussions on this issue <a href="https://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b97a5f83-5394-430e-9a78-9d3a957e3537/">here</a>.<br />This fix is already included in .NET 4. </span></p>]]></content:encoded>
    </item>
    <item>
      <title>WPF “Airspace” when using WEB Browser control</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/wpf-airspace-when-using-web-browser-control</link>
      <pubDate>Mon, 07 Jun 2010 17:52:20 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/06/07/wpf-airspace-when-using-web-browser-control/</guid>
      <description><![CDATA[As you may know, when you interoperate WPF with other technologies you can't overlay WPF and...]]></description>
      <content:encoded><![CDATA[<p><span style="color:black; font-family:Verdana; font-size:10pt">As you may know, when you interoperate WPF with other technologies you can't overlay WPF and WinForms/Win32 content because of the "airspace" limitations (read more <a href="https://msdn.microsoft.com/en-us/library/aa970688.aspx">here</a>).<br/>Any given pixel in a window is either owned by WPF or WinForms/Win32, not both. On the other hand, you can overlay all the WPF content you want because WPF manages and renders all of them. 
</span></p><p><span style="color:black; font-family:Verdana; font-size:10pt">Many folks however are looking to overlay WPF content over Web content. Chris Cavanagh posted sometimes ago a <a href="https://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/">blog</a> that explain how you can do so using Google's web control.<br/>Sources for a sample are available on <a href="https://wpfchromium.codeplex.com/">Codeplex</a>. You would need to license the wrapper called Awesomium.
</span></p>]]></content:encoded>
    </item>
    <item>
      <title>WPF Visualizer in Visual Studio 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/wpf-visualizer-in-visual-studio-2010</link>
      <pubDate>Tue, 25 May 2010 14:52:00 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/05/25/wpf-visualizer-in-visual-studio-2010/</guid>
      <description><![CDATA[Not sure if folks are aware, but Visual Studio 2010 now includes WPF Visualizer. This can really...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: Verdana;"><span style="font-size: small;">Not sure if folks are aware, but Visual Studio 2010 now includes WPF Visualizer. This can really help you during debugging.<br /></span></span><span style="font-family: Verdana;"><span style="font-size: small;">It basically allows you to explore and visualize the Visual Tree and properties of a WPF object during a debug sessions. Similar to what </span></span><a href="https://karlshifflett.wordpress.com/mole-for-visual-studio/"><span style="font-family: Verdana;"><span style="font-size: small;">Mole</span></span></a><span style="font-family: Verdana;"><span style="font-size: small;"> was doing, but this is now built-in to Visual Studio 2010.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Verdana;"><strong>To use:</strong> <br />During debug, in a DataTip, Watch window, Autos window, or Locals window, next to a WPF object name, click the arrow adjacent to the magnifying glass icon. <br />See images below for the SDK example I used:</span> </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/7612.image_1EA27A30.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/7612.image_5F00_1EA27A30.png"><img height="373" width="598" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/8360.image_thumb_6929B80A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/8360.image_5F00_thumb_5F00_6929B80A.png" alt="image" border="0" title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" /></a> </p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/7128.image_2FA6A813.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/7128.image_5F00_2FA6A813.png"><img height="621" width="819" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/85/98/metablogapi/2402.image_thumb_56088B5E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-98-metablogapi/2402.image_5F00_thumb_5F00_56088B5E.png" alt="image" border="0" title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Snoop for WPF 4</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/snoop-for-wpf-4</link>
      <pubDate>Tue, 25 May 2010 14:50:00 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/05/25/snoop-for-wpf-4/</guid>
      <description><![CDATA[&nbsp;Not sure if folks aware that Snoop for WPF 4.0 has been available for a while. You can...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;<span style="font-family: verd;"><span style="font-size: small;">Not sure if folks aware that Snoop for WPF 4.0 has been available for a while. <br />You can download it from </span></span><a href="https://snoopwpf.codeplex.com/releases/view/45696"><span style="font-family: verd;"><span style="font-size: small;">here</span></span></a><span style="font-family: verd;"><span style="font-size: small;">.</span></span></p>
<p><span style="font-family: verd;"><span style="font-size: small;">This version includes other impressive list of improvements that you can read about </span></span><a href="https://www.cplotts.com/2009/12/08/snoop-now-with-64-bit-support-and-more/"><span style="font-family: verd;"><span style="font-size: small;">here</span></span></a><span style="font-family: verd;"><span style="font-size: small;">. <br />Thanks to Corry Plotts and others (Dan Hanan, Mark Kharitonov, etc) who improved on Pete Blois&rsquo; original Snoop.</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>WPFPerf Performance Profiling Tools for WPF 4 is now available!</title>
      <link>https://docs.microsoft.com/archive/blogs/jgoldb/wpfperf-performance-profiling-tools-for-wpf-4-is-now-available</link>
      <pubDate>Tue, 25 May 2010 14:49:00 GMT</pubDate>
      <dc:creator><![CDATA[Jossef]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jgoldb/2010/05/25/wpfperf-performance-profiling-tools-for-wpf-4-is-now-available/</guid>
      <description><![CDATA[The WPFPerf tool comprises of a suite of performance profiling tools that allow you to analyze the...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: times new roman; font-size: 12pt"></span></p>  <p><span style="font-family: times new roman; font-size: 12pt">The WPFPerf tool comprises of a suite of performance profiling tools that allow you to analyze the run-time behavior of your WPF application and point to potential performance bottlenecks.     <br /></span><span style="font-family: times new roman; font-size: 12pt"><span style="font-family: times new roman; font-size: 12pt">We finally release the version that also supports .NET Framework 4 (WPF 4). </span></span></p>  <p><span style="font-family: times new roman; font-size: 12pt">This version of the tool (WPFPerf 4) will allow you to profile both WPF 3.5 SP1 <strong>and</strong> WPF 4 based applications.       <br /></span><span style="font-family: times new roman; font-size: 12pt">The WPFPerf 4 tool is included with the <a href="https://go.microsoft.com/fwlink/?LinkID=191420">Windows SDK for Windows 7 and .NET Framework 4</a> (Windows SDK 7.1). So you are welcome to <a href="https://go.microsoft.com/fwlink/?LinkID=191420">download</a> and send us your feedback. </span></p>  <p><span style="font-size: 12pt"><span style="font-family: times new roman">By the way, the tool itself will run on machines with only .NET 3.5 SP1 or only .NET 4, if both are present it will use .NET 3.5 SP1.        <br /></span></span><span style="font-size: 12pt"><span style="font-family: times new roman"><span style="font-size: 12pt"><span style="font-family: times new roman">Also, I am not sure how many people had a chance to look at the documentation that is installed with the tool , but we think it is very useful so don't forget to check it out. </span></span></span></span></p>  <p><span style="font-size: 12pt"><span style="font-family: times new roman"><span style="text-decoration: underline"><strong>Update (6/14/2010):           <br /></strong></span></span></span><span style="font-size: 12pt"><span style="font-family: times new roman"><span style="font-family: times new roman">We heard that few folks complain that the Visual Profiler cannot correctly attach to the WPF application in the new WPFPerf for WPF 4.          <br /></span></span><span style="font-family: times new roman">After some research we think this has to do with a bug in our DateTime initialization which cause anyone in a time zone &gt; GMT to not get any data in VisualProfiler (for a few hours at least).        <br /><span style="font-size: 12pt"><span style="font-family: times new roman">Until we post a fix, a temporary workaround is to set your time zone &gt; GMT (e.g.to Eastern or Pacific Standard Time Zones) when you first attach VisualProfiler. </span></span></span></span></p>  <p><span style="font-family: times new roman; font-size: 12pt">Please try this workaround and let us know. </span></p> <span style="font-family: times new roman; font-size: 12pt"></span>  <p><span style="font-size: 12pt"><span style="font-family: times new roman"><span style="text-decoration: underline"><strong>Update (8/24/2010):</strong></span>        <br /></span></span><font size="2">A patch to that fixes the bug in Visual Profiler for certain time zones is now available.     <br />See <a href="https://blogs.msdn.com/b/jgoldb/archive/2010/08/24/timezone-patch-to-wpf-performance-profiling-tools-for-wpf-4-is-now-available.aspx">here</a>.</font></p> <font size="2">   <p></p>    <p><span style="font-family: times new roman; font-size: 12pt"></span></p> </font>]]></content:encoded>
    </item>
  </channel>
</rss>