Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何测量WPF Silverlight FPS或渲染时间?_C#_Wpf_Silverlight_Performance - Fatal编程技术网

C# 如何测量WPF Silverlight FPS或渲染时间?

C# 如何测量WPF Silverlight FPS或渲染时间?,c#,wpf,silverlight,performance,C#,Wpf,Silverlight,Performance,我有一个WPF和Silverlight控件,将数据表示为条。小图表。我想写一个应用程序,用来测量这个控件的性能。我尝试在循环中添加点,并等待点被渲染 在WPF工作中: //start measuring time for (int i =10, i<100, i++){ chart.AddRandomPoint(i); //i - argument System.Windows.Forms.Application.DoEvents(); } //finish measuring t

我有一个WPF和Silverlight控件,将数据表示为条。小图表。我想写一个应用程序,用来测量这个控件的性能。我尝试在循环中添加点,并等待点被渲染

在WPF工作中:

//start measuring time
for (int i =10, i<100, i++){
  chart.AddRandomPoint(i); //i - argument
  System.Windows.Forms.Application.DoEvents();
}
//finish measuring time
并订阅CompositionTarget.Rendering事件。事件处理程序中的icrement计数器。 此计数器值大,性能良好

我的问题是: 可以添加点,在图表呈现时等待,立即添加另一个点,等等


是使用Dispatchermer对象和CompositionTarget的第二种方法。渲染事件正确。它能显示性能吗?我需要比较重构前后的性能。

考虑到您也在询问WPF,我建议您看看

,尤其是我认为这会对你有很大帮助


关于WPF/Silverlight性能的好文章是

考虑到您也在询问WPF,我建议您看看

,尤其是我认为这会对你有很大帮助


关于WPF/Silverlight性能的好文章是

我需要编写自动测试。我需要编写自动测试。
dicpatcherTimer_Tick(object sender, EventArgs e){
   chart.AddRandomPoint(i);
}