2012-12-17 57 views
3

我將評估處理大量數據(100000個條目及以上)的WPF組件的多個競爭框架。因此,我需要時間真實的表現。由於我們所有的軟件都是嚴格按照MVVM /數據綁定驅動的,這就是我使用的測試環境。我需要的是找到一種方法來衡量我的視圖模型集之間的時間和視圖渲染的結束時間。在視覺上它需要幾秒鐘,但我想有準確的測量。WPF數據綁定處理的測量時間

我當然可以在設置屬性時啓動秒錶,但是如何知道渲染已準備就緒?有這樣的事件嗎?

+0

使用探查器,這是最好的方法。我personnaly使用dotTrace的那種性能措施。 http://www.jetbrains.com/profiler/ – Sisyphe

+0

是的,我可以做到這一點。但是,對於不同的數據集,我有幾十個不同的測試,乘以幾個測試框架。很想自動化。 –

回答

7

也許它不會給你確切的措施,而是做一個簡單的方法是使用分派

var sw = new StopWatch(); 
sw.Start(); 
//Set value and raise property changed 
Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() => 
{ 
    sw.Stop(); 

}), System.Windows.Threading.DispatcherPriority.Loaded); 

加載的優先級僅僅是渲染優先級以下,所以秒錶會後停止視圖已被渲染。

+0

工程就像一個魅力。爲了精確度,我需要更多。 –