DevExpress技术交流群3:700924826 欢迎一起进群讨论
DevExpress WPF 拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
本文将介绍可以帮助您提高WPF应用程序性能的方法。
WPF的常见性能改进
DevExpress WPF控件是本机WPF控件,您可以应用适用于所有WPF应用程序的建议,以提高其性能。
请参阅Optimizing WPF Application Performance 文档部分了解更多信息。
JIT编译
生成.NET应用程序时,它将被编译为Microsoft中间语言(MSIL)。 当用户启动应用程序时, “just in time”编译器(JIT编译器)会将应用程序的MSIL代码编译为机器代码,此过程可能会导致明显的延迟。除了您自己的应用程序外,可能还会加载外部DLL(例如DevExpress程序集),这意味着任何延迟都不仅取决于代码的大小。
有关减少应用程序启动时间的详细信息,请参阅Reducing the Application Launch Time 。
DevExpress性能改进
DevExpress技术团队在不断提高控件的质量和性能,建议您使用较新的DevExpress版本。
除了提高性能外,我们还提供可选的GridControl optimizations。
服务器端数据处理
以下DevExpress控件支持服务器端数据处理:
- GridControl (server mode, instant feedback mode, virtual sources)
- PivotGridControl (server mode))
- LookupEdit, ComboboxEdit, ListBoxEdit (server mode, instant feedback mode)
如果由于绑定数据源中的大量数据记录导致控件的速度降低,建议启用服务器端数据处理:
- 控件不处理(排序、分组、过滤器等)加载的项目:数据库服务器(或Odata服务)处理数据项目。
- 控件仅加载显示在屏幕上的那些项目。
轻量级模板
以下控件为其元素提供了轻量级模板,以减少其加载时间并改善滚动性能:
- GridControl:优化模式
- PivotGridControl:UseLightweightTemplates
进度指示器和启动画面
当您的应用程序执行耗时的操作时,建议使用进度指示器。 DevExpress随附以下进度指示器:
建议您在应用程序需要大量时间运行时使用SplashScreen,SplashScreenManager允许您在用户启动应用程序后立即显示启动屏幕。
进度指示器和启动屏幕无法提高应用程序的性能,但可以改善其用户体验。
预载主题
运行应用程序时控件加载主题资源,使用 PreloadThemeResourceAsync 方法在应用程序启动时异步加载和缓存所有主题资源,该方法减少了应用程序冻结。您可以将runTypeInitializers方法参数设置为true,以调用静态构造函数并加快控件的初始化速度。