One of the many new features Vista brings to Remote Desktop is ClearType support. Turn it on, you may be surprised at how much nicer the screen looks with fonts rendered in ClearType. (If you’re not sure what ClearType is and why you should care, you may want to check out ClearType information for a better explanation than I can give.)
To turn it on, simply start up ‘Remote Desktop Connection,’ click the Options button and go over the to the ‘Experience’ tab. There along with such stalwarts as ‘Menu and window animation’ you’ll see two new checkboxes, one for ‘Font smoothing’ and one for ‘Desktop composition.’ Select ‘Font smoothing’ and TS to a Vista machine. We’ll talk about the ‘Desktop composition’ item at another time.) This only works when you connect to a computer running Vista or Longhorn Server. The client OS can be Windows XP, Windows Server 2003, or Vista but you must be running the updated ‘Remote Desktop Client’ in order to get the checkbox.
First, let’s get some questions out of the way. First of all, why did we call it ‘Font smoothing’ rather than ‘ClearType?’ The reason has to do with what these checkboxes actually mean. When any of the ‘experience tab’ checkboxes are selected, it doesn’t actually mean that any of the effects are turned on when you connect, rather they are not turned off.
In other words these checkboxes effectively mean ‘If possible, follow the settings the user would get if they were logging in locally.’ If a user doesn’t like ClearType and turned it off on their desktop, it wouldn’t get turned on automatically just because that user was coming in remotely with the ‘Font smoothing’ checkbox selected. One aspect of this approach is that if a someone uses standard font smoothing when they work locally, then that is what they will get remotely. Hence we decided to be strictly accurate and label the checkbox ‘Allow font smoothing.’
One reason we enabled ClearType with remote desktop is that with the advent of Windows Vista and Office 12, ClearType suddenly became much more important. For one thing, LCD monitors were becoming the standard. Also, ClearType was now the default in Vista. In fact, both the IE team and the Office team felt ClearType was important enough that they both over-ride the default on XP and render using ClearType even if it’s turned off by the system. If you really don’t like it, you can still turn it off, but a default install of IE 7 or Office 12 on XP will render in ClearType.
One corollary of this move to ClearType is that new fonts are being designed specifically with ClearType in mind. It’s a time-consuming process to create and tune new fonts and special emphasis has been given to the ClearType scenario over black and white rendering. The net effect is that the new fonts in Vista and Office 12 look particularly good when rendered with ClearType but they don’t look so nice when you don’t use ClearType. For more information about the new fonts, you may want to take a look at Jensen Harris’ blog.
Now for a little history; back in the days of Windows XP the Terminal Services team had to decide what to do about ClearType. Back then ClearType was a new technology that wasn’t on by default. It wasn’t clear at the time how important this would be for Terminal Services scenarios but it was clear that remoting ClearType would consume more bandwidth. We simply decided to disable ClearType for remote sessions.
Fast-forward to 2006. As Vista took shape it was obvious that ClearType was becoming more important. All we really needed to do to enable ClearType is to remove the check in Windows. GDI will automatically render the characters as bitmaps and the bitmaps will work perfectly fine with RDP. The only problem with this approach is that our normal font rendering path is extremely efficient. Simply falling back to bitmaps could have a significant bandwidth hit. Because of this concern we didn’t want it on by default in the TS client. There are still a lot of slow links out there and we don’t want to make a simple upgrade consume additional bandwidth.
How bad is the performance hit? Depending on the scenario, the increase in bytes sent over the wire can be quite significant. In the final analysis it all comes down to what the user feels is an acceptable tradeoff. From my own experience I connect to my desktop at work over a cable modem using Terminal Services Gateway every morning and I always turn on ClearType. I type about sixty words a minute and the performance is fine.
On the other hand, if you are an administrator of a server that’s sitting behind a slow WAN link, then the end-user tradeoff isn’t the important factor. Since that same line is shared by multiple services and multiple users, you care more about aggregate bandwidth usage of the server. For this scenario we are planning on making the server side configurable with group policy.
In any case, try this out with your RC1 builds and let us know what you think.