Tuesday, March 02, 2010

Making VS2010 and/or your WPF applications happy in Remote Desktop/RDP Land

WPF Performance and .NET Framework Client Profile - Optimizing Visual Studio 2010 and WPF applications for Remote Desktop

“It is increasingly common for users to run their client application remotely, either connected to another Windows Client machine (Remote Desktop) or to a Windows Server (Terminal Service). In both of these scenarios the sources and the target machines are communicating over a protocol called Remote Desktop Protocol (or RDP).

In this blog, I wanted to share some of our findings while testing Visual Studio 2010 (VS 2010) over RDP as well as provide best practices to improve VS 2010 and your WPF-base app performance over RDP.

You may have seen the announcements (Soma , Jason Zander, Scott Guthris's) for the public release of Visual Studio 2010 RC . Some of the principles mentioned in this blog are also implemented by VS 2010.

While this blog is focusing on Microsoft remoting technologies some of the ideas discussed here should be applicable to other non-Microsoft technologies.

This blog is few pages long, the first part is a summary for folks who just want the short version. More details follow below in the document.

Summary: Best Practices for Improving VS 2010 and WPF Performance with Remote Desktop

A) Tune your Remote Desktop Connection (RDC) settings.

B) Optimize your WPF app to be Remote Desktop aware. 

C) During development, test your app to verify it is optimized for RDP

History and background

Tuning RDP for optimal Visual Studio 2010 usage

Optimizing your WPF app for RDP

How we optimized Visual Studio 2010 for Remote Desktop

WPF Performance and NET Framework Client Profile  Optimizing Visual Studio 2010 and WPF applicatio

…”

WPF in Visual Studio 2010 – Part 2 : Performance tuning

As we move to WPF applications and virtualization, making the two of them run well together will be an important step in our development process.

The other side of this coin, is that you may have people, say off-shore contractors, who will be Remote Desktop’ing into your data center to do their coding. So it will be important that you make their development experience as smooth and efficient as possible…

What I liked about this article was how it went beyond just configuration changes, but also provided concrete examples of how you can tweak your app’s to work well when RDP’ed. Config tweaks are one thing, but code is always nice… :)

Though I’ve been running in a heavily Remote Desktop/RDP world for years, this article taught me a good bit (i.e. the WTSRegisterSessionNotification/WTSUnRegisterSessionNotification messages are something I’ve been looking for for years and didn’t know it… sigh)

(via Innovation Showcase - Best Practices for Improving VS 2010 and WPF Performance with Remote Desktop)

 

Update 03/02/2010 @ 6:45AM PST:
If you liked the above post, make sure you also check out the Visual Studio Blog’s WPF in Visual Studio 2010 - Part 1 : Introduction and WPF in Visual Studio 2010 – Part 2 : Performance tuning

 

Related Past Post XRef:
Remote Desktop/Terminal Services and the Highly Graphical Application – Tips and Reg Tweaks
NGEN is Love, if you’re running your .Net applications via Citrix or Terminal Services

No comments: