测量 WPF 渲染的性能

Posted

技术标签:

【中文标题】测量 WPF 渲染的性能【英文标题】:Measure performance of WPF rendering 【发布时间】:2010-10-04 20:18:26 【问题描述】:

我有列表框。此控件的 ItemsSource 绑定到 ObservableCollection。我想测量从我更改 ObservableCollection 开始到用户在 ListBox 中看到更新内容时结束的时间。

这里的主要问题是如何确定呈现控件的这一时刻。我需要在代码中将测量时间写入日志。有什么建议吗?

【问题讨论】:

【参考方案1】:

您想查看WPF Performance Suite。来自 MSDN:

Windows SDK 包括一套用于 Windows Presentation Foundation (WPF) 应用程序的性能分析工具,称为 WPF 性能套件。 WPF 性能套件使您能够分析 WPF 应用程序的运行时行为并确定可以应用的性能优化。 WPF 性能套件包括称为 Perforator 和 Visual Profiler 的性能分析工具。

如果您只想测量特定代码体(主要是源代码)中的时间 - 您将需要查看性能分析器。 RedGate sells a profiler我喜欢 - 但还有其他人。直接在您的代码中执行此操作以便您自己记录它会很困难。您当然可以捕获时间信息 - 但这本身会扭曲结果。

【讨论】:

我需要纯粹在我的源代码中测量时间。此工具无法帮助我实现这一目标。 @LBushkin:当前用于分析 .NET 4.5 应用程序的 WPF Performance Suite 替代方案是什么?如果您看一下我的问题here,我将不胜感激。

以上是关于测量 WPF 渲染的性能的主要内容,如果未能解决你的问题,请参考以下文章

通过分析 WPF 的渲染脏区优化渲染性能

C++ AMP计算和WPF渲染显卡两用性能

如何持续测量 EF 性能?

哪个具有更快的运行时性能:WPF 或 Winforms?

2019-11-29-WPF-高性能笔

WPF应用程序的性能提升