Hello AskPerf, my name is Subheet Rastogi and I am a Technical Lead on the Performance team in Bangalore. Today, we’re going to take a quick look at issues that typically arise when using graphic intensive applications or media streaming in a Remote Desktop Session. Some common examples where you might encounter issues in an RDP session include Java applets embedded into web pages, Adobe Breeze, CAD-type programs and of course – playing games. Why? Because RDP was oroginally designed to flush the video frame buffer to the client about once every 100 milliseconds. While this is fine for most Windows GDI applications, graphic intensive applications, 3D applications and applications requiring audio / video synchronization don’t fare so well. With respect to streaming media in particular, RDP is only meant to cache the bitmap files (compressed) not the audio which is uncompressed over the wire.
When we generate a large amount of screen update information it requires a lot of CPU power and very efficient drawing routines. At some point we will reach the limitation of the device and the drawing operations will back up in the queue. Sometimes we have to reset our session to regain normal operation because we have so much data in the update queue that it will take some time for it to catch up. Some research shows that most of the CPU time is being spent in drawing most of the time.
Regardless of whether or not you are using graphic intensive applications or streaming media across RDP, there are some things that you can do that may provide some performance benefits in your environment:
Windows Registry Editor Version 5.00
That’s about it for this post – one final note though is that there are improvements on the horizon. Check out this presentation from the 2008 Professional Developers Conference (PDC 2008) on Graphics Remoting (RDP) Today and Tomorrow . Take care!
Additional Resources:
- Subheet Rastogi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.