WPF Scrolling Performance on Terminal Services 2003 R2 RRS feed

  • Question

  • Is there anything that can be done to increase scrolling performance on Windows Server 2003 terminal services. I have a scrollviewer with a lot of controls and text and scrolling up and down is very slow when used over a WAN connection. It appears to be the result of the ClearType or Antialiasing done on the text. Scrolling around in a Windows forms application is very fast by comparison. We have already set it to 16 bit color and set the experience on the RDC to the 56K setting.

    I have compared the same thing over Windows 2008 and it is a big improvement but we will not be able to have all servers running the application updated at this time so I need to deal with this in code if possible.

    Thank you for any suggestions in advance.
    Monday, June 15, 2009 9:00 PM

All replies

  • I am not sure if this totally pertains to your question, but under the WPF Optimization section, they mentioned using the VirtualizingStackPanel to improve scrollable lists since it only creates object that are currently displayed rather than the whole
    list. See if these two links help:

    Monday, June 15, 2009 11:32 PM
  • Thanks sparky00. In my case this is a ScrollViewer so this doesn't apply. We have used IsDeferredScrollingEnabled and it helps, but still not ideal. We are now nearly 100% certain the performance is tied to the font rendering because we can enable ClearType on our WindowsForms and they too become sluggish. My understanding is that WPF renders using its own ClearType antialiasing and this causes the fonts to require a lot more bandwidth to be rendered slowing down scrolling performance noticably over a WAN connection.
    Tuesday, June 16, 2009 1:51 PM
  • You should be able to turn Font Smoothing off in the options when you remotely connect to render aliased text.
    Wednesday, June 17, 2009 9:15 PM
  • If you are referring to the Remote Desktop Connection (RDC) options under experience, that option is off already. The Modem 56Kbps performance setting only leaves on Themes and Bitmap caching.

    Are you referring to some other option here or is there something I must do on the server to keep it from rendering using aliased text when I make this choice on the RDC?
    Wednesday, June 17, 2009 10:25 PM
  • Sorry, I was slightly mistaken in my earlier post, turning off font smoothing will just disable ClearType in 3.5 SP1, but it will still leave text anti-aliasing on.  There's no way to disable that in 3.5 SP1.  There are many changes coming to the text stack in the next release that allow more control over how text is rendered.

    As to why the scenario is slower, WPF uses bitmap remoting, which means effectively sending a bitmap representing the window contents over the wire.  Pure WinForms apps benefit from GDI's capability to remote primitives natively, which especially helps in the case of text since the WinForms application only needs to send information describing the glyphs on-screen across the wire and they're drawn on the other side, which is far less data than a bitmap containing all the text actually rendered.
    Thursday, June 25, 2009 8:26 PM