A key strategic concept that guides the Citrix Multimedia Virtualization Initiative (project Apollo) is “SmartRendering”. This term describes the intelligent, automated combination of server-side and client-side rendering of graphics and media streams. SmartRendering considers such factors as the attributes of the application, the capabilities of the client and the server, and the characteristics of the network, to ensure an optimal user experience and the most efficient use of computing resources.
Many exciting new developments lie ahead as we extend SmartRendering to how we will deliver Aero desktops (introduced in Vista and enhanced in Microsoft’s upcoming Windows 7 release with “Aero Peek”), next generation applications (such as data visualization applications built on Windows Presentation Foundation), Flash videos (including HD videos rendered with Adobe’s H.264 codec) and 3D professional graphics (OpenGL and DirectX).
Although SmartRendering is a technology with lots of innovation and evolution still to come, it already plays an important part in how XenApp and XenDesktop deliver multimedia/graphics content in our currently shipping releases. Our software continually monitors the network and dynamically adjusts how it sends data to the client. And it constantly makes decisions about how best to render the GDI/GDI+ graphics used in most applications today. Often, SmartRendering will send GDI commands over the wire to be rendered by the graphics processor (GPU) on the client device, offloading the server to maximize scalability. In other cases, SmartRendering will determine that it is more efficient to render the graphics on the server and send a compressed bitmap image over the wire, with SuperCaching to eliminate redundant transmissions.
SpeedScreen Multimedia Acceleration, based on Citrix’s RAVE technology and included with XenApp since Presentation Server 3.0 (introduced in 2004), also employs SmartRendering. If the user’s device is capable of decoding a video using its own resources, SpeedScreen Multimedia Acceleration leverages the client’s CPU and the appropriate codec, with automatic fallback to server-side rendering when needed. The result is a high definition user experience and outstanding server scalability. Very soon, you’ll see this feature in XenDesktop, too, and supported by our Linux plugin (client) for both XenApp and XenDesktop.
Other vendors are starting to implement similar techniques. Wyse offers TCX Multimedia and has announced its Collaborative Processing Architecture which “intelligently divides the workload between the server and client, reducing the need for larger servers”. And Microsoft’s upcoming Windows Server 2008 R2 release will deliver multimedia content “by redirecting multimedia files and streams so that audio and video content is sent in its original format from the server to the (Windows 7) client and rendered using the client’s local media playback capabilities.”
In an upcoming blog post, I plan to show you a video demonstration of a new SmartRendering capability now under development at Citrix that leverages a DirectX 9 or better graphics processor on the endpoint for client-side rendering of the full Aero desktop experience. And it doesn’t require Vista or Windows 7 on the user’s device. So stay tuned because SmartRendering is going to get even more powerful!
Product Strategist, Multimedia Virtualization