16

我正在尝试测量基于 WPF 的应用程序的性能。目前我们的代码可以计算将内容添加到 WPF 渲染树所需的时间。此时,控制权返回给我们的程序。问题是 WPF 在屏幕上显示内容之前仍然存在延迟。对于复杂的渲染树,这可能只是几秒钟的事情。

您能否推荐一种方法来确定 WPF 何时完成对屏幕的渲染?我希望这些测试能够完全自动化,而不是依赖于拿着秒表坐着的人。

[更新]

感谢您迄今为止的建议。

我曾尝试等待 Loaded 和 ContentRendered 事件,但两者都在内容出现在屏幕上之前触发。

看起来其他人也有这个问题。我已经尝试了 http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/693fbedb-efa6-413e-ab66-530c6961d3fb/建议的步骤,但仍然无法强制我的代码等待渲染完成。

4

4 回答 4

13

您可以使用此解决方案:http ://www.japf.fr/2009/10/measure-rendering-time-in-a-wpf-application/

于 2011-05-27T08:07:36.973 回答
4

您看过WPF 性能套件吗?您可能能够看到性能并查明有问题的代码。

于 2011-03-31T18:14:14.273 回答
1

您应该使用 Window 的事件 ContentRendered。

每次有完整的渲染序列时都会触发,您可以计时。

于 2011-03-31T17:29:52.857 回答
1

您可以在控件事件之后结束计时器,Loaded因为这发生在渲染完成之后。

于 2011-03-31T18:10:57.363 回答