如何配置WPF 4.5 UI性能?

Ale*_*mov 15 .net wpf profiling mvvm .net-4.5

我正在开发一个.NET 4.5 WPF应用程序并且具有UI呈现性能问题.

经过一些谷歌搜索,我遇到了WPF Performance Suite页面,它描述了我需要的工具 - Visual Profiler.它允许查看WPF元素树并分析每个元素对总渲染时间的贡献.

唯一的问题是该页面表明该工具包含在Microsoft Windows SDK v7.1中,该版本的目标是Windows 7和.NET 4.0.

由于我的应用程序适用于.NET 4.5,而且我使用的是Windows 8.1,因此我安装了适用于Windows 8.1的Windows SDK.令我惊讶的是,它似乎根本不包含WPF Performance Suite,特别是那个工具.

然后,我尝试从这个答案安装WPF Performance Suite,但它只适用于.NET 4.0应用程序.

那么,你在哪里获得WPF Performance Suite for .NET 4.5应用程序?
或者,更一般地说,您如何分析.NET 4.5应用程序的WPF UI呈现性能,以找出树中哪些元素在复杂UI中具有最高性能影响?

Ale*_*mov 18

最后,我找到了一个我正在寻找的工具,这对我很有帮助.

要了解呈现WPF布局的瓶颈究竟在哪里,您需要:

  1. 安装Visual Studio 2015,如果还没有,请安装:)
  2. 转到调试 - > 启动诊断工具而不调试
    (注意:这似乎更改为Debug - > Profiler - > Performance Profiler ...).
  3. 检查应用程序时间轴工具并在此视图中单击"开始":

工具设置

  1. 当您的应用启动时,请执行导致您感兴趣的问题的操作.
  2. 然后点击停止录制,你最终会得到你的元素树,花费时间来渲染每个节点.然后,您只需按持续时间(总计)对其进行排序,并展开最慢的节点,直到找到问题:

结果

总之,如果使用如下Name属性为控件设置名称,则将上面树中的节点与布局相关联会更容易:

<TextBlock Name="OwnerContact">
Run Code Online (Sandbox Code Playgroud)