Can you run Direct3D apps on XenApp? What about WPF apps?
Direct3D, part of Microsoft's DirectX API, is used to render 3D graphics in applications where high performance is required. Direct3D apps are not generally supported on XenApp because they require hardware acceleration. That's what kicked off the 3D acceleration technology being developed by Citrix under project Apollo. However, some Direct3D apps will fall back to software rendering, so they can be hosted on XenApp. It depends on whether the software developer has enabled fallback to the software rasterizer. Be aware that Direct3D apps may consume a lot of CPU to do the graphics rendering, especially if they make use of a lot of fancy effects. You'll probably want a multi-core server with lots of memory to deliver these apps.
WPF (Windows Presentation Foundation, the graphical subsystem of .NET Framework 3.0 and above), although Direct3D based, automatically falls back to software rendering when no GPU is available. WPF apps have been supported on XenApp as of PS 4.5 FP1 which was released in September 2007. They will run on XenApp for Windows Server 2003 when 16-bit or "5-6-5" color (also called "High color") is configured. With Windows Server 2008, 24-bit or "8-8-8" color ("True color") is also supported.
Depending on the WPF functionality that is leveraged by the application, performance and scalability on XenApp will vary. SpeedScreen Progressive Display optimizes the delivery of rendered graphics to the client device via compression and auto-sharpening. However, WPF applications using intensive 3D graphics or fading effects will consume more CPU and memory than typical GDI applications, so you can expect server scalability to be lower. Another challenge for project Apollo . . .
Derek Thorslund
Product Strategist, Multimedia Virtualization
Comments (5)
Sep 03
Anonymous says:
Hello Derek, We have an application having live video playing/ stored video pla...Hello Derek,
We have an application having live video playing/ stored video playing capability. We have successfully deployed application on XenApp server. While connecting client we get error as follows
Failed to create DirectX DeviceError in the application -2005530518(D3DERR_NOTAVAILABLE)
at Mircosoft.DirectX.Direct3D.Device.ctor....
Can you please suggest how we can get rid of this error and show video on Citrix End point?
Thanks.
B. Trivedi
Sep 26
Sridhar Mullapudi says:
More than likely this is an app that requires DirectX 3D. It is looking for it a...More than likely this is an app that requires DirectX 3D. It is looking for it and is not able to find it.
If you are running this on W2K8 on a physical server with a decent video card, you can get it to work by launching the app in 16-bit color. XenApp 5 on W2k8 supports DirectX 3D acceleration in 16-bit color mode.
Oct 15
Anonymous says:
So far WPF-Apps (with ClickOnce-Deployment) worked great after some Windows Serv...So far WPF-Apps (with ClickOnce-Deployment) worked great after some Windows Server 2003 Patches, I was really suprised. But now I'm trying to get a XBAP (Xaml Browser Application) working with Citrix Presentation Server, it's an 3D-Application. The Menu-bars are fine, the application is starting, showing my splash-screen, but the 3D-Parts aren't showing in combination with Citrix.
Is the Presentation Server unable to use the 3D-Parts of WPF?
Oct 15
Juan Rivera says:
You can get this application to work only if your session you are in is&nbs...You can get this application to work only if your session you are in is a 16-bit color session. By default you are probably on a 24-bit color session which is not compatible with WPF apps.
Oct 15
Anonymous says:
But I thought the entire WPF-App would need to run in an 16-bit color session to...But I thought the entire WPF-App would need to run in an 16-bit color session to work with Citrix, so why was the WPF-App overall working (I thought every element in WPF was drawn with DirectX?), but only the 3D-Part was missing (in detail - the viewport3d with the 3d elements was invisible, but it was physical there, i was testing with an mouse-click event).
Thanks a lot for your answer.
Add Comment