我们有一个Wpf应用程序,由单个Citrix Server托管,最多可供8名远程用户使用。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控件,还是已经编写了类似的测试应用程序?
非常感谢
发布于 2014-01-15 05:54:02
通常情况下,WPF应用程序的组合不会影响CPU (软件渲染)还是GPU (硬件渲染)的使用。在机器上可用时,WPF将始终使用硬件呈现,如果无法找到硬件支持,WPF将退回到软件呈现。
话虽如此,有些事情WPF将始终使用软件呈现。例如,源自BitmapEffect的遗留效果。
您可以使用WPF perf工具查看是否正在使用软件呈现:
http://msdn.microsoft.com/en-us/library/aa969767%28v=vs.110%29.aspx
Perforator工具有一个选项,可以突出显示在软件中呈现的带有紫色的部分。
因此,为了回答您的问题,您可以创建的任何WPF应用程序都将使用硬件渲染,只是不要使用从BitmapEffect派生出来的任何内容。您可以通过在桌面上运行应用程序并使用Perforator对其进行分析,再次检查软件呈现是否被使用。一旦你确认它不使用任何软件渲染,你可以在你的Citrix环境中测试它,安装了/出3D硬件,看看你得到了什么样的性能改进。
https://stackoverflow.com/questions/21026390
复制相似问题