• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Derek Thorslund
compared with
Current by Derek Thorslund
on Dec 12, 2007 16:32.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 2 changes. View first change.

 I'm back from my 7-day Eastern Caribbean cruise and of course the first thing on my mind is my Multimedia Virtualization blog\! We've just migrated the Citrix blog site to an updated system so I had a few transitional issues to work through, but now I'm ready to share with you Part 2 of my series on optimizing Adobe Flash performance on Citrix Presentation Server. ([Click here to read Part 1.|http://community.citrix.com/blogs/citrite/derekt/2007/11/27/Secrets+for+Optimizing+Flash+Performance+-+Part+1])
  
 There's definitely more to optimizing Adobe Flash than configuring SpeedScreen Flash Acceleration ("SpeedFlash") and making sure you have any required hotfixes to handle newer versions of Flash. One of the features of Presentation Server that can have a very substantial positive impact on Flash performance (animations and video) is Queuing & Tossing. This feature shows up in the management console as "Discard queued images which are replaced by other images" or "Discard redundant graphics operations", depending on which version of Presentation Server you're running.
  
 The Queuing & Tossing feature of Thinwire briefly queues GDI draw commands and, before sending them over ICA, inspects the stack in reverse order (LIFO) to allow tossing of obsolete commands (those which have been overwritten by subsequent commands). The queuing period is short enough (30ms) that it doesn't degrade the responsiveness of the application; in fact, performance is significantly improved because draw commands that are logically redundant are discarded.
  
 The tossing algorithm was enhanced in Presentation Server 4.5 (Ohio) to look for more graphics constructs. The tossing algorithm now uses a 1-bit-per-pixel map of the session screen. And it can detect complete self-contained 'frames'. As a result, Thinwire will either send the entire frame to the client as a self-contained entity or toss it completely. These improvements to the tossing algorithm further reduce the amount of data that needs to be sent over the wire. Along with reduced network bandwidth consumption, network efficiency (data bytes per frame) is increased. And the user experience is better because the entire frame gets updated at once rather than in pieces.
  
 So, just how big a difference does all of this make? I recently spoke with one of our engineers who has been taking performance measurements with Flash videos. In his testing, he found that enabling Queuing & Tossing reduced bandwidth by more than 3 times\!
  So, just how big a difference does all of this make? I recently spoke with one of our engineers who has been taking performance measurements with Flash videos. In his testing, he found that enabling Queuing & Tossing reduced bandwidth consumption by more than 3 times\!
  
 In addition to the new framing behavior of Queuing & Tossing in PS 4.5, just-in-time output behavior has further improved Flash performance. Flash video playback with PS 4.5 is noticeably smoother. And CPU consumption is lower, which has increased server scalability (number of simultaneous Flash users per server).
  In addition to the new framing behavior of Queuing & Tossing in PS 4.5, just-in-time output behavior has further improved Flash performance. Flash video playback with PS 4.5 is noticeably smoother. And CPU consumption is lower, which increases server scalability (number of simultaneous Flash users per server).
  
 There's still quite a bit more to tell you about Adobe Flash performance optimization, so stay tuned for my next installment on this topic.
  
 Derek Thorslund
 Product Strategist, Multimedia Virtualization