我有一个控件(对于WPF和Silverlight),表示为条形图的数据。 (小图)。我想写一个应用程序,测量这个控件的性能。我尝试在循环中添加点并等待点将被渲染。如何测量WPF Silverlight FPS或渲染时间?
在WPF工作是:
//start measuring time
for (int i =10, i<100, i++){
chart.AddRandomPoint(i); //i - argument
System.Windows.Forms.Application.DoEvents();
}
//finish measuring time
但在Silverlight中,这是不可能使用System.Windows.Forms.Application.DoEvents()。
第二种方法是使用DispatcherTimer:
dicpatcherTimer_Tick(object sender, EventArgs e){
chart.AddRandomPoint(i);
}
和订阅CompositionTarget.Rendering事件。在事件处理程序icrement计数器。 这个柜台的大价值表现出色。
我的问题是: 有可能加点,等待图表渲染时,马上加另一点等等?
第二种方式(使用DispatcherTimer对象和CompositionTarget.Rendering事件)是否正确。它可以显示性能吗? (我需要比较重构前后的性能)。
我需要wtrite自然而然测试。 – 2012-02-15 12:57:41