Artificial Intelligence Computing Leadership from NVIDIA
WPF Apps and GRID
XenServer 6.5 (CPU Governor defaulted to performance), XenDesktop 7.6 Feature Pack 3, Windows 7 64-bit virtual desktops Dell R730 - Performance Per Watt (OS) enabled, single K2 Latest NVIDIA Drivers and components Verified that GPU is functioning and performing as expected with Unengine, HTML5 web sites, etc. I have a client leveraging a WPF (Windows Presentation Foundation) application that uses some version of .NET (unknown because the default image has all versions installed). The client believes that the WPF application leverages GPU but cannot confirm. When the application is installed on a Physical server (Windows 7 64-bit OS) with a K2000 card and local SSD storage, the application can open records within 3 seconds. Same server, but putting on XenServer 6.5 (or vSphere 6 for that matter), replacing the K2000 with a K2 (using a 280Q or even passthrough) and local SSD VMs, the application opens records in 5 to 6 seconds. We don't see GPU being hit either via the hyper visor management console but it could be the interval isn't long enough to be seen by the charts. I found some regkeys in the following article: https://www.citrix.com/blogs/2014/05/28/configuring-virtualised-autodesk-and-similar-applications-including-xenapp-gpu-sharing-and-tools-for-sanity-checking-directxopengl-usage/ [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\ Multiple Monitor Hook] ”EnableWPFHook” =dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\ Multiple Monitor Hook] ”EnableWPFHook” =dword:00000001 But the article references XenApp/Server OS only. 1) How can I verify a WPF app is or is not using GPU? 2) Is there a test WPF that is known to use GPU that can be tested? 3) Are the EnableWPFHook regkeys needed in a Desktop OS (either in the above regkey or somewhere else? 4) Is XenDesktop with 7.6 and above on a desktop OS, already WPF aware? 5) any suggestion for enhancing performance of a WPF app (it is a COTS app so we can't recode) Could a WPF app have problems in VMs? Thanks to anyone who looks at this and responds. PS Fun read - http://blogs.msdn.com/b/jgoldb/archive/2010/06/22/software-rendering-usage-in-wpf.aspx and http://snoopwpf.codeplex.com/
XenServer 6.5 (CPU Governor defaulted to performance), XenDesktop 7.6 Feature Pack 3, Windows 7 64-bit virtual desktops
Dell R730 - Performance Per Watt (OS) enabled, single K2
Latest NVIDIA Drivers and components
Verified that GPU is functioning and performing as expected with Unengine, HTML5 web sites, etc.


I have a client leveraging a WPF (Windows Presentation Foundation) application that uses some version of .NET (unknown because the default image has all versions installed). The client believes that the WPF application leverages GPU but cannot confirm. When the application is installed on a Physical server (Windows 7 64-bit OS) with a K2000 card and local SSD storage, the application can open records within 3 seconds.

Same server, but putting on XenServer 6.5 (or vSphere 6 for that matter), replacing the K2000 with a K2 (using a 280Q or even passthrough) and local SSD VMs, the application opens records in 5 to 6 seconds. We don't see GPU being hit either via the hyper visor management console but it could be the interval isn't long enough to be seen by the charts.

I found some regkeys in the following article: https://www.citrix.com/blogs/2014/05/28/configuring-virtualised-autodesk-and-similar-applications-including-xenapp-gpu-sharing-and-tools-for-sanity-checking-directxopengl-usage/

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\ Multiple Monitor Hook] ”EnableWPFHook” =dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\ Multiple Monitor Hook] ”EnableWPFHook” =dword:00000001

But the article references XenApp/Server OS only.

1) How can I verify a WPF app is or is not using GPU?
2) Is there a test WPF that is known to use GPU that can be tested?
3) Are the EnableWPFHook regkeys needed in a Desktop OS (either in the above regkey or somewhere else? 4) Is XenDesktop with 7.6 and above on a desktop OS, already WPF aware?
5) any suggestion for enhancing performance of a WPF app (it is a COTS app so we can't recode)
Could a WPF app have problems in VMs?

Thanks to anyone who looks at this and responds.

PS Fun read - http://blogs.msdn.com/b/jgoldb/archive/2010/06/22/software-rendering-usage-in-wpf.aspx and http://snoopwpf.codeplex.com/

#1
Posted 02/26/2016 12:24 AM   
The registry keys aren't necessary in a VDI implementation as there is no driver chaining to address. For checking hardware vs software acceleration you may find this helpful http://www.codeproject.com/Articles/784529/Solutions-for-WPF-Performance-Issue See the section on detecting software rendering. The Perforator tool is available here https://msdn.microsoft.com/en-us/library/aa969767(v=vs.110).aspx
The registry keys aren't necessary in a VDI implementation as there is no driver chaining to address.

For checking hardware vs software acceleration you may find this helpful


http://www.codeproject.com/Articles/784529/Solutions-for-WPF-Performance-Issue


See the section on detecting software rendering.

The Perforator tool is available here


https://msdn.microsoft.com/en-us/library/aa969767(v=vs.110).aspx

Jason Southern, Regional Lead for ProVis Sales - EMEA: NVIDIA Ltd.

#2
Posted 02/26/2016 11:57 PM   
Hi, I know this is a very old forum post. But I just wrote a blog post on how to validate if a WPF application is using hardware acceleration or not. So if anyone has the same issues or questions, I highly suggest checking the blog out! You can find the blog here: https://www.cloud-duo.com/2019/06/validating-wpf-application-acceleration-with-nvidia-grid/ Regards, Jens
Hi,

I know this is a very old forum post.
But I just wrote a blog post on how to validate if a WPF application is using hardware acceleration or not.
So if anyone has the same issues or questions, I highly suggest checking the blog out!

You can find the blog here:

https://www.cloud-duo.com/2019/06/validating-wpf-application-acceleration-with-nvidia-grid/


Regards,
Jens

#3
Posted 06/25/2019 11:26 AM   
Scroll To Top

Add Reply