Silverlight的性能和诊断工具

6

WPF 3.5提供了PresentationTraceSources用于诊断和WPFPerf用于性能和数据绑定诊断。

那么在Silverlight中是否有相应的工具/库呢?

4个回答

4

虽然我已经将Paully的回答标记为“答案”,但我想总结一下我到目前为止发现的内容。

性能:

诊断:

  • Silverlight Spy 可以查看实时的XAML DOM。
  • 数据绑定跟踪无法配置,因为代码没有使用跟踪开关/源。绑定错误直接写入Trace.Write,Silverlight中不可用WPF SourceUpdated/TargetUpdated事件。

1

我认为它不像WPF那样强大,但这里有一些你可以做的事情。


有趣。看起来XPerf非常适合性能故障排除。是否有任何用于故障排除数据绑定的工具可用? - Richard Szalay
对于数据绑定,我通常会监视我的即时窗口以查找数据绑定错误。在数据绑定故障排除方面,您是否有特定的要求? - Paully
我能想到的两个例子是OneWay绑定被删除,因为属性被直接赋值,以及这篇文章(WPF)中概述的情况:http://blog.wouldbetheologian.com/2009/07/why-wpf-databinding-is-awful-technology.html。 - Richard Szalay

1

没错,虽然拥有各种性能诊断工具肯定很“有趣”,但你到底想要实现什么目标呢?
看到你提到的WPF诊断工具,我只能想到“噗,那又怎样?99.999%的时间这些都是无用的”。当涉及到实际调试真实应用程序时,大部分数据都是相当无用的。在我看来,这些工具在调试WPF框架本身时才是最相关的。

确实,对于Silverlight中的某些问题,好的诊断工具确实很短缺。
例如,商业内存分析器中没有一个适用于Silverlight。但除此之外,我不确定你需要的工具究竟是哪些。那么,你需要哪些工具呢?

既然我已经结束了自鸣得意和振奋人心(同时进行),我要指出你错过的两个工具:

  1. Silverlight SOS (Son-Of-Strike)扩展:与桌面SOS扩展完全相同,但具有更多额外命令,并且您需要加载特定于Silverlight的sos.dll。该工具非常适用于深入的内存分析,在这里在这里了解更多。
  2. Silverlight3 Analytics类。使用此类,您可以获取进程的CPU%,整个CPU使用情况以及GPU卡的特定型号和制造商。
  3. Silverlight Glimpse - 由Karl Shifflett开发的数据绑定调试“工具”/控件。

如果您仔细阅读问题以及我对之前答案的评论,您会发现在我的查询中主要存在的问题是解决数据绑定问题。另一方面,感谢您指出Analytics类和SOS Silverlight命令。 - Richard Szalay
注意,增加了第三个项目,用于调试数据绑定故障的工具。 - JustinAngel
Glimpse看起来很不错。将来我们会不会在Silverlight SDK中看到更多这样的工具? - Richard Szalay

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接