|
At lot has been said about the improvements in the RDP implementation of Windows 7 (RDP 7), especially since the PDC. Let's take a look at what's what based on the material we can discuss (published material).
I think it is good to see that Microsoft now understands the urgency of having a remote display protocol that delivers a near local user experience while still being able to be efficient on bandwidth. This requirement has always been around but was accelerated by the adoption of VDI. So to start with the hard facts these are the improvement in the RDP
protocol from a graphical perspective (the most important part):
Aero Support
Yes finally folks. You will be able to use Glass and 3D flip and all that Areo goodness in an RDP session. BUT (and that's a big but) you need either a Windows Vista client or a Windows 7 Client.
DirectX Remoting: Direct2D and Direct 3D 10.1
Terminal Server in Windows 7 will automatically remote Direct2D and Direct3D 10.1 remoting. What does this mean? DirectX is the Microsoft way of delivering intense grahpics. To run DirectX applications you need a DirectX capable card (gamers can tell you about this). Of course Terminal Servers or VDI machines to not have any video cards or or at the very least low-end video cards not capable ot DirectX. So the new DirectX remoting will remote *certain kinds* of DirectX calls, specifically Direct2D and Direct3D in DirectX 10.1. Direct2D is a new standard that Microsoft introduced at the PDC. The special thing about it is that it is capable of doing DirectX10 of DirectX9 hardware. This is important DirectX 10 capable cards current are very high-end cards and not something you'd expect to see in a business desktop. So you can say that Direct2D is capable of doing backwards compatible DirectX remoting to Directx10 hardware. Direct3D in DirectX 10.1 is also remoteable in Windows 7. The ammount of applications that are written to work with DirectX 10.1 however is limited since it is a standard that is introduced in Windows 7. To do this you need either a Windows Vista client or a Windows 7 Client with DirectX 9 capable hardware.
True Multimonitor Support
Multimonitor currently sucks in Terminal Server. That's about as subtle as I can put it. This is not just me others as well. For example, we (at Quest) have introduced our own multimonitor support for RDP and that is very popular. So much, that some people can not believe it. Anyway, the"span" option that was introduced in Windows server 2003 only took some of the pain away. Windows 7 however will take all of that pain away. You will have the ability to true multimonitor. You can select the different monitors in the RDP 7 client and select which ones to remote, making it as true a multimonitor solution for RDP as it can be. I wonder if this will also be available for VDI implementations (ie Windows 7 or Vista as the host) I do know that you need Windows Vista client or a Windows 7 Client to make this work.
MultiMedia Redirection
This as not very exciting to me since I have seen this type of technology in Quest, Citrix, Wyse and VMware products for years now. Microsoft now also has it's implementation in Windows7. What is basically allows you to do is to play any DirectShow video in Windows media player and have the full (normal) user experience, provided you have the appropiate codecs on the client. The video stream is redirected to the client, thereby reducing the CPU load on the server and reducing the load on the network (the video stream is already as small as possible). What do you need? You guessed it: Windows Vista client or a Windows 7 Client.
Bi-directional Audio
RDP up until Windows 2008 has always been "audio out" only. Third party vendors like Quest and Citrix offer bi-directional audio today but RDP in Windows 7 introduces "audio in" as well. This means that you can use it to support voice operated applications as well (dictation devices, VOIP). I wonder if Microsoft has taken care of the audio video sync issues that exist in RDP today. I will take a look at this. As far is I know, you need a Windows Vista client or a Windows 7 Client to support this.
So what's missing?
There might be a lot missing but the thing I am "worried about" is that I have not heard a lot about Calista yet. The only publicly available information is that Tad Brockway, the guy that glues Calista and TS together from a MS standpoint says that it is not sure if Calista will be released with Windows 7. I think it will but we will see bits later on.
Until we do one of the things that is really missing is Flash and/or Solverlight remoting. This is something that is screaming to be fixed but no one is doing right now. Not Quest, not Citrix ( I am leaving "suck-up-all-my-bandwidth-on-a-LAN-and-crash-and-burn-on-a-WAN-protocols"out of this discussion but perhaps that is the reason Microsoft is not doing it yet. I would imagine though that Calista WILL fix this. Time will tell I guess.
while on the subject of WANs. There has been no mention of any real improvements bandwidth consumption/WAN performance of RDP in Windows7. Quest EOP and Citrix ICA both perform significantly better over a WAN connection and use less bandwidth. Outside of the compression improvement in Windows 7 - which are very small in comparison with Quest EOP and Citrix ICA - there seem to no improvements planned.
Limitations
Well there is one HUGE limitation if you want to call it that. All the RDP 7 goodness will require a Windows Vista or Windows 7 client. That pretty much leaves the bulk of the *current* business clients in the workplace out of luck. However, Windows 7 will not ship until the end of 2009 or the beginning of 2010 and people will have to stop using Windows XP at some point. Perhaps not because they want to but because Microsoft just retires it. So perhaps everyone having a Windows Vista client will not be that weird around this time next year but we will see... Thin Clients and other non-windows operating systems will be left out in the cold but that's an opportunity for 3rd party vendors.
There's a lot of good coming our way in Windows 7 RDP with regards to graphics but there is still a lot of room for improvement from third party vendors or Calista (that is a Microsoft company by now right?....).
|
>> Yes finally folks
Ok, where have you been?
RDP supplied with Vista and Windows Server 2008 already does Aero and Glass, in addition to sending vector based application information over RDP.
Yes this means even limited 3D remote support via WPF and other vector composed applications on Vista. Aero is a Vector composer and the version of RDP that ships with Vista was designed around AERO.
What surprises me, is Vista is 2 years old, lampooned by tech writers that don't understand half of the OS, and now when some of its features are further expanded for Windows 7, all of a sudden people pay attention and don't stop to see it was in Vista as well.
Before you write an article couldn't you have ONCE RDP'd to a Vista machine in the last 3 years?
During Vista betas and testing, we were installing Vista on MS Virtual PC, and to see AERO were RDPing into the machine from another Vista Machine and playing freaking 3D games over RDP, yes 3 years ago...
PS. Couple of other notes...
Remote codec rendering, this is something that was started with Windows Media Center, and is still used on XBox 360 or other extenders as they are just RDPing into the clients you do realize this, right?
Also your concerns about bandwidth being lost to Flash and Silverlight (you spelled it incorrect).
Flash, will eat RDP bandwidth DEPENDING on how Adobe renders Flash content, and with version 9 and 10 of Flash, it appearas it will eat your bandwidth.
However, Silverlight?
Silverlight is a light version of WPF and as far as Vista'a AERO is concerned it renderes it on the vector level, working with the composer at a vector level when needed. Therefore, it runs as light and tight as a WPF application over RDP in vector form.
If you ever wanted a reason to 'push' for Silverlight over Flash for anything but its better video support, this would be one area to do so.
Hi Anthony,
Thank you for your constructive criticism. My blog is written from experiences in the field in dealing with enterprise IT environments. In MY experiences I do not deal with deployments Vista-to-Vista RDP deployments, not do I see Win2008-to-Win2008 RDP deployments let alone XBox 360s (I did not know that the xbox 360 did codec remoting over RDP).
Vista-to-2008 RDP deployments are also rare.
This is why I am more enthusiastic the potential of Aero deployments in future Vista-Win2008R2 deployments, where Vista is the XP of today.
Man, this is confusing topic. I wish MS would put something out to clear this up.
According to the PDC talk about RDP the remoting for Direct3D/2D primitives is dependent on DirectX10.1. It sounds like this *can* be supported by down level OSes (pre Windows 7) when remoting to a 2008 server.
The deck also explicitly states that DirectX 9 clients will be rendered on the host. So that means WPF apps will be host rendered - making WPF animations perform badly. I've heard no word about plans to remediate this (i.e. migrate WPF to DX10.1 on capable hardware). It gets even murkier when you need to consider the DX10 on DX9 emulation (given now that the version DX is based on hardware capability - a rule MS seems to have broken already).
Now that's clear as mud, with Silverlight the renderer is (currently) software only. It's an application level renderer (like Flash). I would expect this to be host rendered too. Saying that, it was been announced that Silverlight 3 will include some GPU acceleration. So maybe Silverlight 3 will use some of the WPF primitive architecture (MILCORE) and maybe this will use DX10.1 if it's available.
That's a lot of IFs. Maybe we'll find out more at MIX'09. Either way this deserves to be cleared up. Remember that the new version of Visual Studio uses a WPF editor - there's going to be a lot of angry developers compaining that remote development is very slow with the new version if it's all host rendered.
Windows Server 2003 RDP 7.0 Client
Here you could find how to get it running on Windows Server 2003:
http://onadvancetoujours.blogspot.com/2009/12/windows-7-rdp-remote-desktop-protocol.html
Regards
"Well there is one HUGE limitation if you want to call it that. All the RDP 7 goodness will require a Windows Vista or Windows 7 client."
The RDP 7 client is supported on XP w/ SP3.