WPF性能调试系列 – 应用程序时间线

简介: 原文:WPF性能调试系列 – 应用程序时间线WPF性能调试系列文章:     WPF页面渲染优化:Application Timeline     WPF页面业务加载优化:Ants Performance Profiler       WPF内存优化:Ants Memory Profiler   应用程序时间线(Application Timeline)     应用程序时间线工具是VS2015新添加的功能,通过对WPF程序的检测,可以分析应用程序消耗的时间包含用户界面框架、服务网络和磁盘请求、程序启动及页面加载。
原文: WPF性能调试系列 – 应用程序时间线

WPF性能调试系列文章:

    WPF页面渲染优化:Application Timeline

    WPF页面业务加载优化:Ants Performance Profiler  

    WPF内存优化:Ants Memory Profiler

 

应用程序时间线(Application Timeline)

    应用程序时间线工具是VS2015新添加的功能,通过对WPF程序的检测,可以分析应用程序消耗的时间包含用户界面框架、服务网络和磁盘请求、程序启动及页面加载。此处重点介绍程序加载和页面加载的时间性能分析。

 

模拟分析应用程序

打开VS2015,通过菜单分析(N)-> 性能探测器(F打开分析器,在可用工具中选择应用程序时间线

 

注: 1.  不同版本的VS菜单名称可能不相同,上图为VS2015企业简体中文版,根据路径选择具体菜单

    2.  分析目标为WPF应用程序可以选择‘应用程序时间线’,不要在包含其他类型的应用程序的项目中打开,会造成此项不可选

 

开始执行后,wpf应用会打开执行,当需要检测的页面加载完成后可以关闭wpf应用,等待VS自行分析结束后,会输出分析结果。

 

磁盘和网络活动:频繁的磁盘访问和网络负载在UI线程可能会严重影响应用程序的响应。即使其中的一些I / O访问发生在一个不同的线程上,它仍然可能会影响应用程序的感知响应。这些事件将详细的总的有效载荷和时间花费在服务的I / O请求。

 

  XAML文件加载的分析时间包含:布局,解析和呈现部分的分析

 

布局:比较大型应用中可能会有巨大数量的元素同一时间在页面上显示,这就导致了应用程序页面的低响应速度。布局详细的标明每个元素的加载成本。通过找到具体某个低响应速度的控件进行优化。

解析:这一事件能够识别由UI线程在解析XAML文件和创建对象的时间。这能够在性能瓶颈的情况下识别不必要的文件解析和对象创建,并优化它们。

呈现:具体页面控件呈现在显示器所需要的时间,此部分一般无需做为优化所需要考虑的范畴。

 

举例查找页面加载的性能瓶颈:

 

通过页面加载的时间线,发现一个自定义控件的解析时间需要356.85毫秒,远远超过了其他页面的加载时间,现在需要直接进入自定义控件进行页面复杂度分析

 

查看页面察觉到使用到了页面比较耗性能的Chart图表控件,这种情况就可分析真实业务需求,是否可以通过其他控件代替?或和用户做对应的技术讲解?等等。

 

 

上面是VS2015中应用程序时间线的使用方法,主要用于检测UI层性能瓶颈。关于数据访问层和业务逻辑层的瓶颈可使用大名鼎鼎的ANTS Performance profiler工具。

目录
相关文章
|
8月前
|
缓存 C# 虚拟化
WPF列表性能提高技术
WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自`ItemsControl`的控件都支持该技术。
|
前端开发 Ubuntu Linux
【.NET6+Avalonia】开发支持跨平台的仿WPF应用程序以及基于ubuntu系统的演示
随着跨平台越来越流行,.net core支持跨平台至今也有好几年的光景了。但是目前基于.net的跨平台,大多数还是在使用B/S架构的跨平台上;至于C/S架构,大部分人可能会选择QT进行开发,或者很早之前还有一款Mono可以支持.NET开发者进行开发跨平台应用。
935 0
【.NET6+Avalonia】开发支持跨平台的仿WPF应用程序以及基于ubuntu系统的演示
|
C#
WPF 4 Ribbon 开发 之 应用程序菜单(Application Menu)
原文:WPF 4 Ribbon 开发 之 应用程序菜单(Application Menu)      在上一篇中我们完成了快捷工具栏的开发,本篇将讲解应用程序菜单开发的相关内容。如下图所示,点击程序窗口左上角的记事本图标(Application Button)会显示出应用程序菜单(Application Menu)列表,列表中的按键即为软件的一些基本功能。
2153 0
|
9月前
|
C#
C#开源的虚拟桌宠模拟器,可以内置到任何WPF应用程序 - VPet
C#开源的虚拟桌宠模拟器,可以内置到任何WPF应用程序 - VPet
119 0
|
8月前
|
人工智能 C#
虚拟桌宠模拟器:VPet-Simulator,一个开源的桌宠软件, 可以内置到任何WPF应用程序
虚拟桌宠模拟器:VPet-Simulator,一个开源的桌宠软件, 可以内置到任何WPF应用程序
虚拟桌宠模拟器:VPet-Simulator,一个开源的桌宠软件, 可以内置到任何WPF应用程序
|
C#
4.使用代码和未经编译的XAML创建WPF应用程序
4.使用代码和未经编译的XAML创建WPF应用程序
65 0
|
C# C++ Windows
3.只使用代码创建WPF应用程序
3.只使用代码创建WPF应用程序
86 0
|
C# 虚拟化 UED
细数改善WPF应用程序性能的10大方法
原文:细数改善WPF应用程序性能的10大方法       WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系,越高档的机器性能越有优势。
1175 0
|
C#
WPF如何去除调试的黑框?
WPF如何去除调试的黑框?
589 0
WPF如何去除调试的黑框?
|
C# Windows 图形学
优化WPF 3D性能
原文:优化WPF 3D性能 Maximize WPF 3D Performance .NET Framework 4.5   As you use the Windows Presentation Foundation (WPF) to build 3D contr...
1326 0