安装.NET 4.5时WPF应用程序的性能问题
我们升级了开发机器,并用它安装了.NET4.5 紧接着,我们注意到使用.NET4.0开发的应用程序明显变慢了。这不涉及源代码,也不涉及编译应用程序所依据的.NET版本。问题是,应用程序本身相当复杂,不可能分离可能的原因。可能的原因可能包括:安装.NET 4.5时WPF应用程序的性能问题,wpf,performance,wcf,.net-4.5,Wpf,Performance,Wcf,.net 4.5,我们升级了开发机器,并用它安装了.NET4.5 紧接着,我们注意到使用.NET4.0开发的应用程序明显变慢了。这不涉及源代码,也不涉及编译应用程序所依据的.NET版本。问题是,应用程序本身相当复杂,不可能分离可能的原因。可能的原因可能包括: 一般WPF慢度(不可能) Telerik图书馆(同上) WriteableBitmap,即使用户不做任何操作,也会大量使用它(是的,SetDirty使用正确) WCF过去经常通过TCP接收“大”量(~5kB/s) 我是问是否有关于这个问题的相关信息。我试
- 一般WPF慢度(不可能)
- Telerik图书馆(同上)
- WriteableBitmap,即使用户不做任何操作,也会大量使用它(是的,SetDirty使用正确)
- WCF过去经常通过TCP接收“大”量(~5kB/s)
Dispatcher.Invoke
用于将更改从网络队列同步到UI。这被称为每秒多次。为了解决这个问题,我使用带有双缓冲区的CompositionTarget.Render
event将网络队列推送到UI,它解决了性能问题
似乎.NET 4.5对
调度程序做了一些更改,因此它成为了我们用例中的一个瓶颈。分析该应用程序。大部分时间花在哪里?强烈建议对应用程序进行ETW跟踪以进行故障排除(使用PerfView是一个良好的开端)。