2012-02-15 68 views
2

我有一個控件(對於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事件)是否正確。它可以顯示性能嗎? (我需要比較重構前後的性能)。

回答