博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
The Receiver 4.4 - 客户端硬件解码 - 大幅度提升3D显示效能
阅读量:7121 次
发布时间:2019-06-28

本文共 2595 字,大约阅读时间需要 8 分钟。

在做3D/vGPU 这类桌面虚拟化项目的时候,除了对于服务器端的CPU有硬性要求之外,还对前端设备,如:PC、瘦客户机的主频有较高的要求,导致对终端设备的规格要求变得非常的高。

这是因为在3D/vGPU场景中,由于涉及到GPU物理解码以及各种专用软件的匹配,通信的时候需要通过H.264压缩技术来传输相关的图像信息。

而当服务器端将桌面中图像信息传输到前端设备进行重组并在屏幕上显示的时候,就需要使用到前端设备上的资源来完成相关工作,也就是我们平时说的解码。而对于解码通常有两种方法:

  1. CPU解码

  2. GPU解码

由于涉及到图形、图像的解码,GPU的效能一定会高于CPU。不过过去的Citrix客户端Receiver由于只支持对于H.264的CPU解码,所以导致对于前端设备的性能,尤其是CPU性能有相当程度的要求。

不过随着Windows Receiver 4.4的发布(Linux Receiver 13.x早已经支持),这种情况将发生根本性的改善,即Windows Receiver 4.4支持客户端硬件解码,简单的说就是在3D场景中,可以使用客户端的GPU资源来进行H.264的解码即图形、图像的重组。

这样必然带来客户端CPU需求的降低,同时提升图形、图像的显示质量。

对此我们来做一个简单的对比:

通过简单的对比我们可以看到:

  1. 在使用新版Receiver之后,帧率提升了近一倍,从7到了15(请注意这里的分辨率已经达到了4K级别,15的帧率已经非常可观,由于人眼的识别在每秒不低于24帧的情况下就会看到是一个连贯的画面,所以这种程度提高在很多场景中是会带来显示的质的飞越。)

  2. 终端设备CPU使用率降低了近一半,从30降低到了13。

所以从这两个3D项目中的两个重要指标来看,一方面通过提升最终显示的帧率而获得更好的显示效果,另一方面通过降低终端CPU的需求,使得更低端的设备(需带有GPU)也能作为终端进行使用。从整体上带来极好3D的用户体验。

如何确认终端设备是否支持客户端硬解码,这里需要使用到一个三方的小工具来做检测,。将这个小程序在终端设备上运行,检测该设备是否支持H264。

这里如图所示:该设备支持 SD/HD/FHD/4K等几种解码规格

由于有些设备无法支持4K,所以只会显示有SD/HD/FHD。但对于绝大多数3D/vGPU项目来说,这个是够用了,毕竟支持4K不仅设备要支持,对于显示器也是非常高的要求。

当然如果使用不支持4K的设备而硬推4K的显示的话,Receiver将会自动使用传统的CPU解码方式来完成图像的显示。

最后,要提醒一点由于Windows Receiver 4.4是第一个支持客户端硬解码的版本,所以秉承Citrix一贯谨慎的做法,这个功能默认是OFF状态,

你需要通过如下方式来启用:

  1. 拷贝“C:\Programe File(x86)\Citrix\ICA Client\Configuration\receiver.adml” 到 “C:\Windows\PolicyDefinitions\”

    “C:\Windows\PolicyDefinitions\zh-cn

    “C:\Windows\PolicyDefinitions\en-us”

    三个目录下。

  2. 拷贝“C:\Programe File(x86)\Citrix\ICA Client\Configuration\receiver.admx” 到 “C:\Windows\PolicyDefinitions\”

    “C:\Windows\PolicyDefinitions\zh-cn”

    “C:\Windows\PolicyDefinitions\en-us”

    三个目录下。

  3. 访问 本地策略编辑器 “Local Group policy editor”, gpedit.msc

  4. 在 Computer Configuration-> Administrative Templates -> Citrix Receiver -> User Experience, 打开“Hardware Acceleration for graphics”

  5. 勾选“Enabled” ,点击 “Ok”

这样完成之后,当你通过Receiver访问一个3D session的时候,检查如***册表信息:

Registry Path: HKCU\Software\Citrix\ICA Client\CEIP\Data\GfxRender\<session ID>

Graphics_GfxRender_Decoder 和 Graphics_GfxRender_Renderer 的数值应该为2,代表GPU解码,如果是 1 代表仍然为CPU解码。

限制:

1. 不推荐为XA/XD 7.6 on Windows Server 2008 R2的用户启用硬件解码,强行启用可能带来更差的使用体验。

参考文档:

  • Improved User Experience: Hardware Decoding for Citrix Windows Receiver

  •  

  • Read more about templates and configuring H.264 and other modes, when to choose it:  (The Very High Definition User Experience template is a good starting point for those looking at using DXVA).

  • Citrix Blogs: 

  •  – Citrix XenDesktop and XenApp – Support for Monitors Including 4K Resolution and Multi-monitors

  • CTX139331 – 

  • Citrix Blogs – 

  • Citrix Blogs – 

  • Citrix eDocs –  (Details of what individual policies do)

      本文转自sesame.qian  51CTO博客,原文链接:http://blog.51cto.com/kaiqian/1739138,如需转载请自行联系原作者
你可能感兴趣的文章
字符编码【转载】
查看>>
mysql中的事物处理
查看>>
Android 车联网天气
查看>>
POJ 2430 状压DP
查看>>
C++Primer第5版学习笔记(三)
查看>>
Centos7系统介绍
查看>>
GIT简单实用
查看>>
Sonar - 部署常见问题及解决方法
查看>>
IOS 学习笔记(3) 视图UITabbarController
查看>>
java基础知识(一)
查看>>
浏览器的缓存
查看>>
WinForm Read Excel
查看>>
Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现
查看>>
React开发环境搭建
查看>>
jQuery-ui源代码重点难点分析
查看>>
(转)Linux传输大文件(分割传输)
查看>>
1003. 我要通过!(20)
查看>>
phpstudy for linux版环境安装
查看>>
MinGW GCC 7.1.0 2017年6月份出炉啦
查看>>
二叉树的实现(Java语言描述)
查看>>