Wpf性能饥渴的测试应用程序,用于测试Citrix是否使用GPU进行渲染以及是否有任何区别

时间:2014-01-09 16:53:24

标签: c# wpf citrix

我们有一个由最多8个远程用户使用的单个Citrix服务器托管的Wpf应用程序。 WPF应用程序通常同时使用高分辨率和多个监视器,因此我们要确保GPU用于渲染而不是CPU。

我们正在使用网格,画布,复选框和所有类型的WPF控件。

我想测试它是否增加了在Citrix服务器上使用3D加速硬件的任何价值,因为我们即将订购新硬件而且我不确定是否值得花费额外的钱。

Citrix通过以下链接发布了一些信息,因此我想到写WPF"饥饿"测试应用程序,但我不确定它应该是什么样的。

http://support.citrix.com/proddocs/topic/xendesktop-7/hd-3d-gpu-acceleration-win-server-os.html

修改

知道这个WPF应用程序应该是什么样子,所以我可以确保它使用GPU或者有更好的方法来测试它吗?我应该在测试应用程序中使用哪些wpf控件,或者是否已经编写了类似的测试应用程序?

非常感谢

1 个答案:

答案 0 :(得分:1)

作为一般规则,WPF应用程序的组成不会影响是使用CPU(软件渲染)还是GPU(硬件渲染)。当WPF在计算机上可用时,它将始终使用硬件渲染,如果找不到硬件支持,它将回退到软件渲染。

话虽如此,WPF总会使用软件渲染进行渲染。例如。从BitmapEffect派生的遗留效果。

您可以使用WPF perf工具查看是否正在使用软件渲染:

http://msdn.microsoft.com/en-us/library/aa969767%28v=vs.110%29.aspx

Perforator工具可以选择突出显示在软件中呈现紫色色调的应用程序部分。

所以要回答你的问题,你可以创建的任何WPF应用程序都会使用硬件渲染,只是不要使用从BitmapEffect派生的任何内容。您可以先在桌面上运行应用程序并使用Perforator对其进行配置,以便仔细检查是否未使用软件渲染。一旦您确认它没有使用任何软件渲染,您可以在安装了/不带3D硬件的Citrix环境中对其进行测试,以了解您获得了哪些性能改进。