安装.NET 4.5时WPF应用程序的性能问题

时间:2014-11-25 14:08:34

标签: wpf performance wcf .net-4.5

我们升级了我们的开发机器,并且随之安装了.NET 4.5

在那之后,我们注意到我们的应用程序,使用.NET 4.0开发变得明显变慢。这没有触及源代码或编译应用程序的.NET版本。问题是,应用程序本身非常复杂,分离可能的原因是不可能的。可能的原因可能包括:

  • 一般WPF缓慢(不太可能)
  • Telerik库(与上述相同)
  • WriteableBitmap,即使用户没有做任何操作也会大量使用(是的,正确使用SetDirty)
  • WCF用于接收"大"通过TCP
  • 持续量(~5kB / s)

我询问是否有关于此问题的任何相关信息。我试图谷歌,但我只获得性能提示,没有适合我的问题。现在,解决方法是卸载4.5并安装4.0,这可以解决性能问题。

1 个答案:

答案 0 :(得分:0)

所以,我明白了。

在当前代码中,Dispatcher.Invoke用于同步从网络队列到UI的更改。这称为每秒多次。为了解决这个问题,我使用带有双缓冲区的CompositionTarget.Render事件将网络队列推送到UI,并修复了性能问题。

似乎.NET 4.5对Dispatcher做了一些更改,因此它成为我们用例的瓶颈。