XenApp and XenDesktop

适用于 Windows 桌面操作系统的 GPU 加速

通过 HDX 3D Pro,可在桌面操作系统计算机上随托管桌面或应用程序交付图形密集型应用程序。HDX 3D Pro 支持物理主机计算机(包括桌面、刀片式服务器和机架工作站)以及 XenServer、vSphere 和 Hyper-V(仅限直通)虚拟机管理程序提供的 GPU 直通和 GPU 虚拟化技术。

利用 GPU 直通功能,可以创建对专用图形处理硬件具有独占访问权限的 VM。可以在虚拟机管理程序上安装多个 GPU,并将 VM 一对一地分配给每个 GPU。

利用 GPU 虚拟化技术,多个虚拟机可以直接访问单个物理 GPU 的图形处理功能。强大的硬件 GPU 共享功能可提供适用于具有复杂和苛刻设计要求的用户的桌面。针对 NVIDIA GRID 卡的 GPU 虚拟化(请参阅 NVIDIA GRID)采用与非虚拟化操作系统上部署的 NVIDIA 图形驱动程序相同的驱动程序。对于具有 Intel Iris Pro 图形功能的第 5 代和第 6 代 Intel CPU,还支持采用 Intel GVT-g 的 GPU 虚拟化。有关这些 Intel 处理器系列的详细信息,请参阅第 5 代 Intel 酷睿处理器第 6 代 Intel 酷睿 i5 处理器。AMD FirePro S 系列服务器卡也支持 GPU 虚拟化,请参阅 AMD 专业图形虚拟化解决方案

HDX 3D Pro 提供以下功能:

  • 基于 H.264 的自适应深度压缩,用于实现最佳的 WAN 和无线性能。HDX 3D Pro 使用基于 CPU 的全屏 H.264 压缩作为编码的默认压缩技术。对支持 NVENC 的 NVIDIA 卡使用硬件编码。

  • 专用的无损压缩选项。HDX 3D Pro 还提供基于 CPU 的无损编解码器,可支持需要在像素级完美呈现图形的应用程序,例如医学成像。建议仅针对特殊用例使用真正的无损压缩,因为这种压缩方式占用相当多的网络和处理资源。

    使用无损压缩时:

    • 无损指示器(一个系统栏图标)会通知用户显示的屏幕是有损帧还是无损帧。当视觉质量策略设置指定设为无损时,此功能很有用。当发送的是无损帧时,无损指示器将变绿。

    • 无损切换功能使用户能够在会话内随时切换到“始终无损”模式。要在会话内随时选择或取消选择无损,请右键单击该图标或使用快捷键 Alt+Shift+1。

      对于无损压缩:HDX 3D Pro 使用无损编解码器进行压缩,而不考虑通过策略选择的编解码器。

      对于有损压缩:HDX 3D Pro 使用原始编解码器,即默认编解码器或通过策略选择的编解码器。

      后续会话不会保留无损转换设置。要为每个连接使用无损编解码器,请在视觉质量策略设置中选择始终无损。

  • 可以覆盖用于在会话内选择或取消选择“无损”的默认快捷方式 Alt+Shift+1。在 HKLM\SOFTWARE\Citrix\HDX3D\LLIndicator 配置新注册表设置。

    • 名称:HKLM_HotKey,类型:String
    • 配置快捷键组合的格式为 C=0|1, A=0|1, S=0|1, W=0|1, K=val。注册表项必须使用逗号“,”分隔。按键顺序无关紧要。
    • A、C、S、W 和 K 表示按键,其中 C=Control、A=ALT、S=SHIFT、W=Win 和 K=某个有效按键。K 允许的值包括 0-9、a-z 和所有虚拟键代码。有关虚拟键代码的详细信息,请参阅 MSDN 上的 Virtual-Key Codes(虚拟键代码)。
    • 例如:
      • 对于 F10,设置 K=0x79
      • 对于 Ctrl + F10,设置 C=1、K=0x79
      • 对于 Alt + A、设置 A=1、K=a 或 A=1、K=A 或 K=A、A=1
      • 对于 Ctrl + Alt + 5,设置 C=1、A=1、K=5 或 A=1、K=5、C=1
      • 对于 Ctrl + Shift + F5,设置 A=1、S=1、K=0x74

小心:

注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。

  • 多显示器和高分辨率显示器支持。对于桌面操作系统计算机,HDX 3D Pro 支持用户设备最多使用 4 个显示器。用户可以采用任意配置安排自己的显示器,并且可以混合使用分辨率和方向各不相同的显示器。显示器的数量受主机计算机 GPU 功能、用户设备以及可用带宽限制。HDX 3D Pro 支持所有显示器分辨率,并仅受主机计算机上 GPU 的功能限制。

    HDX 3D Pro 还对双显示器访问 Windows XP 桌面提供有限支持。有关详细信息,请参阅运行 Windows XP 或 Windows Vista 的计算机上的 VDA

  • 动态分辨率。可以将虚拟桌面或应用程序窗口的分辨率调整为任意大小。注意:唯一受支持的更改分辨率的方法为调整 VDA 会话窗口的大小。不支持从 VDA 会话内部更改分辨率(使用控制面板 > 外观和个性化 > 显示 > 屏幕分辨率)。
  • 支持 NVIDIA GRID 体系结构。HDX 3D Pro 支持 NVIDIA GRID 卡(请参阅 NVIDIA GRID)以实现 GPU 直通和 GPU 共享。NVIDIA GRID vGPU 允许多个 VM 使用在非虚拟操作系统中部署的相同 NVIDIA 图形驱动程序同时直接访问单个物理 GPU。
  • 支持使用虚拟直接图形加速 (vDGA) 的 VMware vSphere 和 VMware ESX — 可针对 RDS 和 VDI 工作负载将 HDX 3D Pro 与 vDGA 结合使用。
  • 支持使用 NVIDIA GRID vGPU 和 AMD MxGPU 的 VMware vSphere/ESX。
  • 对使用 Windows Server 2016 中离散设备分配的 Microsoft HyperV 的支持。
  • 对具有 Intel Xeon Processor E3 系列的数据中心图形的支持。HDX 3D Pro 支持多显示器(最多 3 个)、控制台消隐、自定义分辨率和受支持的 Intel 处理器系列的高帧速率功能。有关详细信息,请参阅https://www.citrix.com/intelhttps://www.intel.com/content/www/us/en/servers/data-center-graphics.html
  • AMD FirePro S 系列服务器卡支持 AMD RapidFire。HDX 3D Pro 支持多显示器(最多 6 个)、控制台消隐、自定义分辨率和高帧速率功能。注意:针对 AMD MxGPU 的 HDX 3D Pro 支持(GPU 虚拟化)仅适用于 VMWare vSphere vGPU。XenServer 和 Hyper-V 支持 GPU 直通。有关详细信息,请参阅 AMD 虚拟化解决方案

  • 访问 NVIDIA GPU 和 Intel Iris Pro 图形处理器的高性能视频编码器。此功能由策略设置(默认启用)控制,允许使用硬件编码进行 H.264 编码(如果可用)。如果此类硬件不可用,VDA 会转而求助于使用软件视频编解码器的 CPU 编码。有关详细信息,请参阅图形策略设置

如下图所示:

  • 用户登录到 Citrix Receiver 并访问虚拟应用程序或桌面时,控制器将对用户进行身份验证,并与 VDA for HDX 3D Pro 建立连接,以将连接转至托管图形应用程序的计算机。

VDA for HDX 3D Pro 使用主机上相应的硬件来压缩完整桌面的视图或仅压缩图形应用程序的视图。

  • 此桌面或应用程序视图以及用户与这些视图之间的交互将通过 Citrix Receiver 与 VDA for HDX 3D Pro 之间的直接 HDX 连接在主机计算机与用户设备之间传输。

示意图显示了 HDX 3D Pro 与 XenDesktop 及相关组件之间的集成

安装 VDA for HDX 3D Pro

使用安装程序的图形界面安装 VDA for Windows Desktop OS 时,在 HDX 3D Pro 页面上选择是。使用命令行接口时,请在 XenDesktop VdaSetup.exe 命令中包含 /enable_hdx_3d_pro 选项。

要升级 HDX 3D Pro,应先卸载单独的 HDX 3D for Professional Graphics 组件和 VDA,然后再以 HDX 3D Pro 模式安装 VDA。同样,要从适用于 Windows 桌面操作系统的标准 VDA 模式切换到 3D Pro 模式,请先卸载标准 VDA,然后再以 HDX 3D Pro 模式安装 VDA。

标准模式 HDX 3D Pro 模式
通常最适合于不带图形硬件加速功能的虚拟桌面以及 Remote PC Access。 通常最适合于含图形硬件加速功能的数据中心桌面,需使用多于四个显示器的情况除外。
任何 GPU 都可用于 Remote PC Access,但有一些应用程序兼容性限制:在 Windows 7、8 和 8.1 上,DirectX 功能级别的 GPU 加速最高可达 9.3。如果一些 DirectX 10、11、12 应用程序不支持回退到 DirectX 9,则这些应用程序可能无法运行。在 Windows 10 上,为窗口化的 DirectX 10、11 和 12 应用程序提供了 GPU 加速。DX 9 应用程序由 WARP 呈现。DX 应用程序无法用于全屏模式。远程会话中的 OpenGL 应用程序加速功能(如果受 GPU 供应商支持;目前仅限于 NVIDIA)。 支持通过任何 GPU 实现 GPU 加速功能,但控制台消隐、非标准屏幕分辨率和真正多显示器支持功能要求使用 NVIDIA GRID、Intel Iris Pro GPU 或 AMD RapidFire 图形。利用显卡供应商提供的驱动程序实现最广泛的应用程序兼容性:GPU 支持的所有 3D API(DirectX 或 OpenGL)。通过 Intel Iris Pro(仅限 Win10)、NVIDIA GRID 和 AMD RapidFire 支持全屏 3D 应用程序。支持自定义驱动程序扩展和 API。例如,CUDA 或 OpenCL。
任意显示器分辨率(由 Windows OS 和性能来决定限制)以及最多 8 个显示器。 最多支持四个显示器。
H.264 硬件编码适用于 Intel Iris Pro 图形处理器。 H.264 硬件编码适用于 Intel Iris Pro 图形处理器和 NVIDIA 卡。

安装和升级 NVIDIA 驱动程序

NVIDIA GRID API 提供了对 GPU 帧缓冲区的直接访问,为实现流畅的交互式用户体验提供了尽可能最快的帧速率。如果您在安装启用了 HDX 3D Pro 的 VDA 前安装 NVIDIA 驱动程序,则默认启用 NVIDIA GRID。

要在 VM 上启用 NVIDIA GRID,请从 Device Manager 禁用 Microsoft 基本显示适配器。运行以下命令,然后重新启动 VDA:NVFBCEnable.exe -enable -noreset

如果您在安装启用了 HDX 3D Pro 的 VDA 后安装 NVIDIA 驱动程序,NVIDIA GRID 将禁用。使用 NVIDIA 提供的 NVFBCEnable 工具启用 NVIDIA GRID。

要禁用 NVIDIA GRID,请运行以下命令,然后重新启动 VDA:NVFBCEnable.exe -disable -noreset

安装 Intel 图形驱动程序

可以在安装 VDA 之前安装 Intel 图形驱动程序。仅当您在安装启用了 HDX 3D Pro 的 VDA 后安装 Intel 驱动程序或者 Intel 驱动程序已更新时,才需要执行以下步骤。

为了启用多显示器支持功能所需的 Intel 驱动程序,请使用 GfxDisplayTool.exe 运行以下命令,然后重新启动 VDA:GfxDisplayTool.exe -vd enable

GfxDisplayTool.exe 包含在 VDA 安装程序中。GfxDisplayTool.exe 位于 C:\Program Files\Citrix\ICAServices 中。

注意:

不支持在 ICA 会话中卸载 NVIDIA 或 Intel 驱动程序。

优化 HDX 3D Pro 用户体验

要将 HDX 3D Pro 用于多个显示器,请确保主机计算机已配置的显示器数不少于连接到用户设备的显示器数。连接到主机计算机的显示器可以是物理机,也可以是虚拟机。

在用户连接到提供图形应用程序的虚拟桌面或应用程序时,禁止将显示器(无论是物理机还是虚拟机)连接到主机计算机。否则,会引起用户会话持续时间的不稳定。

请告诉用户,图形应用程序会话运行期间,不支持(由用户或应用程序)对桌面分辨率进行更改。关闭应用程序会话后,用户可以在“Citrix Receiver - Desktop Viewer 首选项”中更改 Desktop Viewer 窗口的分辨率。

多位用户共享一个带宽有限的连接时(例如,在分支机构),Citrix 建议您使用总会话带宽限制策略设置,以限制每位用户可用的带宽。这样可确保用户登录和注销时可用带宽不会大幅波动。由于 HDX 3D Pro 可自动调整以充分利用所有可用带宽,因此,在用户会话过程中可用带宽大幅波动可能会对性能产生负面影响。

例如,如果 20 位用户共享一个 60 Mbps 的连接,每位用户可用的带宽可能在 3 Mbps 到 60 Mbps 之间变化,具体取决于并发用户的数量。要优化此种情形下的用户体验,应确定高峰时段每位用户所需的带宽,并将用户限制为始终使用此带宽量。

对于 3D 鼠标用户,Citrix 建议将通用 USB 重定向虚拟通道的优先级提高到 0。有关更改虚拟通道优先级的信息,请参阅 CTX128190

适用于 Windows 桌面操作系统的 GPU 加速