分析WPF应用程序 - 所有方法的概述

时间:2011-11-02 17:21:46

标签: wpf profiling

我无法分析我的WPF应用程序。

以下是这种情况:任何用例如下:输入值 - >点击“计算值” - > loading ... - >显示值。

在“加载......”阶段,有两个阶段:

  • 纯粹的数学阶段,非常优化
  • “WPF正在绘制你的控件”阶段,这......好......很长。

我想要做的是将应用程序分析为具有以下功能的TreeView:函数,已用时间,调用次数。 我通常使用Visual Studio分析器(主要是因为我的公司不想为一个好的分析器付费。要求人们优化性能,不要给他们任何好的分析器,让我们礼貌地说这是一个很好的公司政策)。 问题是这个探查器直到WPF系统才运行(draw,MeasureOverride,measureLength ....)。

我使用JetBrains的dotTrace一段时间(10天试用...... meh)真的非常棒,因为即使在最精确的情况下(在一个细胞中着色一个细胞所用的时间)它也能够真正分离阶段datagrid,计算一个单元格宽度所经过的时间......)。 蚂蚁似乎不是它的配置文件WPF(它只显示“托管代码”......)

现在,我的Visual Studio探查器停在一个为Visiblox图表定义Xaxis的函数上。它告诉我,WPF大约需要2.3秒来“定义XAxis”,而2.3秒实际上是用于绘制所有网格和图形的全部时间

你们是否知道一个能够发挥魔力的探测器(或VS探测器中的设置)?

非常感谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

坚持记录在这里。 你认为你想要一个树视图,经过时间,呼叫计数等, 但你需要的是通过找到你可以解决的问题来优化应用程序,以消除不必要地花费的挂钟时间。 Here's an example of what works best, in my experience.

某些事情很容易占用很长一段时间,而不一定是特定的例程,特定的代码行或调用树中的特定路径。 无论它在哪里,该方法都能找到它。 更重要的是,除了找到它所需的最低限度之外,它还没有费心去测量问题。 但是,如果您真的觉得需要购买或安装某些东西,那对您没有帮助。