本文主要列出了一些提高WPF应用程序性能的技术。
常见的WPF性能增强
如果您预编译 Microsoft 中间语言 (MSIL) 代码,则可以提高应用程序的启动性能。 此建议适用于所有 WPF 应用程序,并显著减少使用高级 UI 控件的应用程序的启动时间。
服务器端数据处理
以下DevExpress 控件支持服务器端数据处理:
- GridControl(服务器模式、即时反馈模式、虚拟源)
- PivotGridControl(服务器模式))
- LookupEdit、ComboboxEdit、ListBoxEdit(服务器模式、即时反馈模式)
如果控件在绑定到大型数据源时速度变慢,我们建议您启用服务器端数据处理,以下列表概述了此模式的主要方面:
- 该控件仅加载它在屏幕上显示的项目。
- 该控件不排序、分组、过滤或以其他方式处理加载的项目。 对于每个数据操作,它都会向数据库服务器(或 OData 服务)发送一个请求,服务器响应要在屏幕上显示的数据项。
预加载主题
WPF 应用程序在控件即将显示时加载控件的主题资源,这在多窗口应用程序中最为明显。应用程序在显示每个新窗口之前需要时间来加载资源,为了避免使用DevExpress控件的应用程序可能出现的减速,您可以预加载主题资源。
特定于控件的性能增强
DevExpress官方团队会定期优化控件的内存消耗和性能,始终更新到最新的可用 DevExpress 版本,以将最新的增强功能整合到您的应用程序中。
Dock Windows
GridControl
PivotGridControl
- 使用轻量级模板来减少加载时间并优化滚动性能:UseLightweightTemplates。
- 考虑优化模式以获得性能优势以及一组扩展的聚合和窗口函数。
- 异步模式允许应用程序在数据操作进行时保持响应,该控件使用后台线程来加载、排序、分组、过滤和以其他方式处理数据。
RibbonControl
您可以在用户打开页面时加载 RibbonPage 内容,这块将加快RibbonControl 冷启动和热启动时间。
当您的 RibbonControl 包含具有大量项目、库或其他重量级内容的多个 RibbonPages 时,此技术最有效。
SchedulerControl
使用按需数据加载功能按需批量加载项目,当您使用此功能时,调度程序仅加载可见间隔的数据。 当调度程序绑定到大型数据源时,这会改善初始加载时间和内存消耗。
TabControl
进度指示器和闪屏
使用以下进度指示器来改善长时间操作期间的用户体验:
SplashScreenManager 允许您在用户启动应用程序后立即显示启动屏幕。
DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
DevExpress技术交流群5:742234706 欢迎一起进群讨论