[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Collapse]Common Concepts
  [Expand]Printing and Exporting
  [Expand]Saving and Restoring Layouts
   Typed Styles
  [Expand]Touch Support
  [Expand]Formatting Values
   Prism Adapters
  [Expand]Data Sources
  [Collapse]Performance Improvement
    Reducing the Application Launch Time
   XAML Namespaces
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Performance Improvement

This topic describes concepts that can help you improve your WPF application's performance.

Expanded Common WPF Performance Improvements

DevExpress WPF controls are native WPF controls. You can apply recommendations applicable to all WPF applications to improve their performance.

Refer to the Optimizing WPF Application Performance documentation section to learn more.

JIT Compilation

When you build a .NET application, it is compiled into Microsoft Intermediate Language (MSIL). The “just in time” compiler (JIT-compiler) compiles an applications' MSIL code into machine code when a user launches the application. This process can cause noticeable delays. External DLLs (for example, the DevExpress assemblies) may be loaded in addition to your own application, that means that any delay does not depend on the size of your code alone.

Refer to the Reducing the Application Launch Time article for details on how to improve your application's startup time.

Expanded DevExpress Performance Improvements

We are constantly improving the quality and performance of our controls. We recommend that you use newer DevExpress versions.

We also provide optional GridControl optimizations in addition to performance improvements.

Server-Side Data Processing

The following DevExpress Controls support the server-side data processing:

We recommend enabling server-side data processing if the control slows down due to a large number of data records in a bound data source:

  • the control does not process (sort, group, filter, and etc.) loaded items: the database server (or Odata service) processes data items.
  • the control loads only those items it displays on screen.

Lightweight Templates

The following controls provide the lightweight templates for their elements to reduce their loading time and improve scrolling performance:

Progress Indicators and Splash Screen

It is recommended to use progress indicators when your application executes time consuming operations. DevExpress ships the following progress indicators:

It is recommended to use the SplashScreen when your application requires much time to run. The DXSplashScreen displays immediately after an end-user starts an application. The splash screen fades when the application is ready to display its UI.

Progress indicators and the splash screen cannot improve the application's performance, but they improve its UX.

See also:

Is this topic helpful?​​​​​​​