我有一個控件(對於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