Whereas Citrix NetScaler is all about delivering web applications with outstanding performance, availability and security, the SpeedScreen Browser Acceleration feature of Citrix Presentation Server is focused on optimizing the performance of the web browser used to access those applications. Many Citrix customers deliver Internet Explorer and/or Mozilla Firefox to their users through Presentation Server for reasons well articulated by Brian Mirrotto and Rob Patterson in their iForum 2005 presentation Take Control of Your Users’ Web Browser; in particular, easier management, better performance and improved security (see also Resolve Web browser security and compatibility issues). SpeedScreen Browser Acceleration (“SpeedBrowse” for short) improves the usability of Internet Explorer when accessing web pages that contain JPEG and non-transparent GIF images, two very common digital image file formats. (SpeedScreen Image Acceleration takes over for photographs and other high detail images.) It also optimizes the performance of Outlook and Outlook Express when viewing HTML-based email.

SpeedBrowse actually consists of several sub-features that work in tandem to improve browser responsiveness and reduce bandwidth consumption. Here’s a high-level summary of the most important pieces that make up the SpeedBrowse feature:

  • Optional automatic disabling of GIF animations. By default, SpeedBrowse disables Internet Explorer’s “Play animations in web pages” option. This setting reduces bandwidth consumption and enables the resulting static GIF images to be delivered over the SpeedBrowse virtual channel.
  • High-level browser hooking. SpeedBrowse uses high level hooks into Internet Explorer to intercept JPEG and GIF images before they are decompressed. Images can be sent to the client in their native compressed form, minimizing bandwidth consumption.
  • Dynamic JPEG image recompression. JPEG offers multiple levels of compression. By recompressing a JPEG image at a higher, more “lossy” level of compression, bandwidth consumption can be further reduced, at the expense of image quality. Presentation Server Enterprise Edition and Platinum Edition offer a “Determine when to compress” option that dynamically evaluates image size and available network bandwidth to automatically decide how much compression to apply.
  • Background image delivery. SpeedBrowse sends compressed images in chunks over a separate SpeedBrowse virtual channel so as not to block the Thinwire command protocol. The user can scroll and use the Back and Stop buttons of the browser with excellent responsiveness as images are downloaded at lower priority in the background.
  • Client-side image caching. SpeedBrowse caches compressed image chunks on the client. If the server detects that a chunk is already in the client’s image store, it will not resend that chunk. It only needs to send an identifier. By caching image chunks on the client, web pages that are revisited display much faster and bandwidth consumption is reduced because the server does not need to retransmit previously sent images. Furthermore, decompressed images are added to the client’s cache as bitmaps so that these images don’t need to be decompressed each time they are drawn. This provides a significant performance boost when a web page is scrolled because scrolling generates multiple drawing operations for each image on the page.

Of course, there are some limitations, too. SpeedBrowse is not compatible with web pages that include Adobe Flash content. And it would be nice to see an enhancement to handle PNG images, which offer more vibrant color than GIFs.

When you look at the multiple facets of SpeedScreen Browser Acceleration, you can see why it adds up to a tremendous feature for accelerating web browser performance. A study by Doculabs (click for summary press release or full report) published shortly after SpeedBrowse was introduced concluded that Presentation Server provides “200% to 250% more efficient network bandwidth utilization than locally installed browsers (depending on the configuration and tuning options selected)” and “may provide users with a two-fold or greater increase in page loading performance” on low bandwidth connections. This testing was done against a set of 99 web pages including commercial sites such as Google, Yahoo and Microsoft.com. 50% of the pages were graphically intense (over 95% of the total page download coming from image loading). Using a browser delivered via Citrix Presentation Server resulted in a transfer of 55% less data than when browsing with a locally installed browser, resulting in noticeably faster response times. The SpeedBrowse feature is a big contributor to this outstanding performance.

In the time since the Doculabs report was written, we’ve witnessed the emergence of numerous Javascript-enabled web sites (Gmail, for example). These days, there’s a lot more data getting sent down to the browser, which now is becoming a pseudo operating system executing all these applications. It’s often a lot less network intensive to send the image representation of the web page through ICA rather than downloading the entire page to the client. This is especially important if the client is at the end of a limited bandwidth pipe.

Derek Thorslund
Product Strategist, Multimedia Virtualization