WPF Controls — Remote Desktop Performance Enhancements

WPF Team Blog
02 February 2022

The COVID-19 pandemic has forced businesses to regroup and reimagine the workplace (remote work is now a reality for many). Accordingly, the use of remote desktop has increased substantially and we’ve taken steps to ensure that our WPF products perform well when executed on remote devices.

Last year, we received feedback from some users about application slowdowns after multiple sign-out/sign-in operations. Addressing this issue was placed atop our priority list. In our v21.2 release cycle (and a subsequent v21.1.6 update) we updated our WPF theme cache engine to address this issue.

As you can see below, the change to our theme cache engine boosted performance quite substantially (we measured the difference in render time for our Outlook Inspired demo project):

Your Feedback Matters

Do your users/customers access a DevExpress-powered desktop app via remote desktop? If so, please comment below or create a support ticket on the DevExpress Support Center. We’d love to discuss your business requirements in greater detail (and see how we can further enhance our desktop product line for use in remote work environments).

Free DevExpress Products – Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We’ll be happy to follow-up.
is this performance improved also in current 21.2.5?
2 February 2022
Peter Drier 2
Peter Drier

In looking through the DX Source recently, I discovered that more than 75% of the code in the themes is exactly 100% the same, yet duplicated across the 37 themes DX has. 

To be specific, I'm referring to the code in <Theme> \  <Control> \ Generic.xaml and the Generic folder.   (And everywhere else in the Theme tree where there are Generic.xaml and "Generic" folders)

I'm definitely not a XAML expert, but I'd have to assume this much duplicated code has performance/memory usage implications, beyond the obvious dev ops maintenance headache.  

(and 90% of the code not in the generic section is also redundant aside for a few color changes.  I'd hope to think it's possible to either generate or template that out somehow..)

Is anything being done by DX to consolidate/reduce this mountain of redundant code?

2 February 2022
Vasily (DevExpress)
Vasily (DevExpress)


Yes, the performance update is included in v21.2.5.

@Peter Drier

Thanks a lot for your suggestion. I forwarded it to our developers. Most of the duplicated code is generated automatically using base themes, so its maintenance is not costly. As for performance enhancement, it is one of our main priorities for 2022, so we will research possible techniques applicable to our theme structure. Please feel free to create a ticket in our Support Center if you have any performance issues. We are always happy to help.

3 February 2022
Bruno Ceysens
Bruno Ceysens
Same kind of updates are necessary for WinForm? Thanks!
8 February 2022
Dmitry (DevExpress)
Dmitry Korovin (DevExpress)

@Bruno We are constantly revisiting our code base, looking to boost the performance in various environments. So to answer your question no, there is no need for similar upgrades in WinForms, but we’ll certainly keep rolling out performance upgrades in future versions.

In our tests we’ve found that application performance in remote environments depends more on the complexity of visual effects rather than calculations speed. That’s why we recently introduced the property that allows you to simplify the application visuals and get a certain performance boost: OptimizeRemoteConnectionPerformance.

11 February 2022

Please login or register to post comments.