设计决策:HDX 显卡概述

简介

为了满足不同的用户要求,Citrix HDX 协议允许配置不同的图形模式。本文的目的是概述不同的 HDX 模式以及它们的配置方式。它为您提供了一个起点,您可以从中配置环境以最适合用户需求、工作负载和当前网络条件。

重要注意:除非另有说明,本文基于 Citrix Virtual Apps and Desktops 1912。

免责声明:结果可能有所不同,强烈建议您自己运行测试,看看哪种方法最适合您的用例。

HDX 图形概述

在深入研究特定的图形策略之前,让我们回顾一下我们如何对您在 HDX 会话屏幕上看到的内容以及用于演示的底层技术进行分类。

当我们为应用程序或桌面提供图形内容时,HDX 图形编码引擎 Thinwire 会实时分析屏幕上的内容,并将显示数据动态分为三种类型:

  • 文字、简单图像和纯色
  • 静态图像内容
  • 移动(或流体)图像

HDX 图形 1

在此示例中,文本或简单图像以蓝色突出显示,静态图像以橙色突出显示,移动(或流体)图像以绿色突出显示。

在 Citrix Virtual Apps and Desktops 中,Thinwire可以采用不同的方法进行显示分析、压缩和交付:Citrix 调整了行业领先标准,即高级视频编码 (AVC)(也称为 H.264)、高效视频编码 (HEVC)(也称为H.265)和 AOMedia Video 1 (AV1) 的使用,以在“全屏”和“选择性”编解码器实现中高效交付高质量视频内容。

  • 选择将 Thinwire 配置为不使用视频编解码器配置 Thinwire 以使用视频编解码器用于主动变化的区域 使用视频编解码器允许 Thinwire 检测到的瞬态内容(流体图像或视频)区域并根据上检测到的设置策略和功能对其进行编码终端节点。Thinwire 将这些“选定”(或瞬态)区域编码为自适应 JPEG 或使用视频编解码器(Hx264、H.265 或 AV1)。自适应 JPEG 和“选择性”H.264/H.265/AV1 被视为子功能,因为 Thinwire 是核心技术。然后,将剩余的非瞬态片段(编码为 JPEG 和运行长度编码 (RLE))合并以完成会话中的显示。
  • 选择将 Thinwire 配置为使用整屏编解码器会让 Thinwire 将整个屏幕视为临时内容,文本除外(默认),并使用 H.264、H.265 或 AV1 视频编解码器对显示数据进行编码,具体取决于服务器和客户端的功能。
    然后将文本叠加到屏幕上以提供完整的图像。较新的视频编解码器(如 AV1 和 H.265)可以在不影响质量的情况下实现比 H.264 更高的压缩率。但是,AV1 和 H.265 的处理成本很高,仅在与 Virtual Delivery Agent(VDA)上的选择 GPU 一起使用时才支持。
    使用 CPU 编码时,不能使用 AV1 和 H.265。此外,需要以 GPU 或专门构建的瘦客户端形式兼容 AV1 或 H.265 的硬件来解码客户端端点上的 AV1 和 H.265 显示数据。
    查看供应商文档,确定终端硬件是否支持 AV1 和 H.265。

CVAD 2305(NVIDIA)或 CVAD 2308(英特尔)和 CWA 2311 及更高版本支持 AV1。

与 H.264 和 H.265 相比,AV1 具有更好的压缩和图像质量。如果没有兼容的 GPU,目前无法对 AV1 进行编码和解码。Citrix 支持 NVIDIA 和英特尔 GPU 的 AV1 编码。

AV1 的要求如下:

  • 适用于 NVIDIA GPU 的 VDA 2305 或更高版本或
  • 适用于 Intel GPU 的 VDA 2308 或更高版本
  • 以及用于编码的兼容 GPU,见下文:
  • 基于 NVIDIA Ada Lovelace 的 GPU
  • Intel ARC 或 Intel Data Center GPU Flex 系列 GPU

根据配置的 HDX 模式,这些类别通过不同的方式进行编码:

  • 文本和简单图像 几乎总是使用运行长度编码 (RLE) 以无损的方式进行编码。从版本 7.17 开始,使用名为 MDRLE 的 Citrix 专有 RLE 版本,它允许更高的压缩率 CTX232041。启用“针对 3D 图形工作负载进行优化”会禁用无损文本检测,并使用 H.264/H.265 而不是 RLE 传输内容。您可以通过本文后面的 Visio 图表可视化此策略。
  • 对于同时具有选择性 H.264/H.265/AV1 和自适应 JPEG 的静态图像 ,JPEG 用于编码,而如果选择全屏 H.264/H.265/AV1 作为图形模式,则使用视频编解码器。如果使用 JPEG,则可以使用“视觉质量”设置来配置其质量。有关更多详细信息,请查看本文后面附带的 Visio 图表。
  • 对于移动图像,在配置全屏 H.264/H.265/AV1 或带有选择性 H.264 的 Thinwire 时使用视频编解码器 H.264/H.265/AV1。如果配置了带自适应 JPEG 的 Thinwire,则 JPEG 的质量会自动调整(因此名称)适应帧速率和可用带宽等条件。

总而言之,Thinwire 在按如下配置时使用不同的技术:

将 Thinwire 配置为不使用视频编解码器

  • 文本:RLE
  • 简单的图像和纯色:RLE
  • 静态图像:JPEG
  • 移动图像:自适应 JPEG

配置 Thinwire 以将视频编解码器用于主动变化的区域

  • 文本:RLE
  • 简单的图像和纯色:RLE
  • 静态图像:JPEG
  • 移动图像:H.264/H.265/AV1

配置 Thinwire 以在整个屏幕上使用编解码器

  • 文本:RLE(如果启用了针对 3D 图形工作负载的优化,则为 H.264 /H.265)
  • 简单图像和纯色:H.264/H.265 /AV1
  • 静态图像:H.264/H.265/AV1
  • 移动图像:H.264/H.265/AV1

在下一节中,我们将介绍实现上述行为的政策。

HDX 图形模式

使用视频编解码器进行压缩 策略是通过配置适合不同用例的显示方法为最终用户提供最佳体验的核心功能。
我们将概述的技术与 Citrix Studio 中的可配置策略设置对应起来。

  • 适用于主动变化的区域 = 带有选择性 H.264/H.265/AV1 的 Thinwire
  • 不要使用视频编解码器(默认回退方法) = Thinwire 与自适应 JPEG
  • 适用于整个屏幕 = Thinwire 全屏 H.264/H.265 /AV1
  • 在首选时使用(策略默认)= 使用带有选择性 H.264/H.265 的 Thinwire,除非还设置了“针对 3D 图形工作负载进行优化”,否则将使用 Thinwire 全屏 H.264/H.265/AV1

客户端端点和虚拟交付代理 (VDA) 的功能将在会话启动或会话重新连接时进行评估。如果客户端不支持 H.264/H.265/AV1,则无论在 VDA 上设置了何种策略,显示方法均为带自适应 JPEG 的 Thinwire。

配置 Thinwire 以将视频编解码器用于主动变化的区域

针对主动变化的区域 ”图形模式是我们最平衡的设置。因此,我们建议您在开始制定环境中的策略基准时从此模式开始,因为它涵盖了广泛的用户群(例如,偶尔会播放视频的办公室工作人员)。 该模式的核心是,对静止图像使用 JPEG,对文本、简单图像、纯色块使用 RLE,并对 VDA 确定为静态的屏幕区域使用位图缓存。Thinwire 会持续分析屏幕上的流体运动区域,例如多媒体,并有选择地使用视频编解码器:H.264/H.265/AV1 对流体区域进行编码。

如图所示,在检测到流体运动区域之前,视频编解码器的使用(H.264、H.265 或 AV1)处于“非活动状态”。然后,VDA 过渡到 H.264、H.265 或 AV1 形式的视频编解码器,在流体运动期间对所选区域进行编码,并在所选区域不再包含流体内容后返回“非活动”状态。

HDX 图形 2

使用视频编解码器,无论是 H.264、H.265 还是 AV1,都能提供比自适应 JPEG 更丰富的体验,而牺牲了 CPU 来压缩流体运动区域。与适用于多媒体工作负载的自适应 JPEG 相比,视频编解码器的网络带宽通常会更低,而且较新的编解码器的压缩效果更好,因此一般而言,带宽使用量更低。强烈建议根据您的特定用例运行自己的测试(查看下面的“工具”部分)。

质量 H.265 AV1
-46.5% -56.6%
-17.6% -44.1%
-3.1% -36%

较新的编解码器在相同的带宽利用率下生成更高质量的图像,在较低的带宽上更高的 FPS,因为与 H.264/H.265 相比,AV1 使用的每帧带宽更低。

将 Thinwire 配置为不使用视频编解码器

不使用视频编解码 器为客户端端点(包括不支持 H.264 /H.265 图形解码的端点)提供了最大的兼容性。

在此图形模式下,Thinwire 的行为与为主动变化区域配置时的行为类似。VDA 分析屏幕的流体移动区域。但是,Thinwire不是使用H.264/H.265/AV1进行编码,而是将运动图像编码为自适应JPEG以提供高兼容性,也无需使用视频编解码器。其余区域显示为静止图像的 JPEG,文本和简单图形的 RLE 显示为提供高质量图像。

使用自适应 JPEG 对移动图像进行编码的 CPU 处理通常低于 Thinwire(用于全屏或主动变化区域的 H.264)。如果服务器可扩展性是您的首要任务,则需要此模这种权衡表现在 WAN 场景中的带宽增加和移动图像保真度降低。建议将此图形模式用于动态图像极少的用例,例如在呼叫中心或销售点系统中。在这种情况下,此模式下的带宽利用率与配置为主动变化区域的视频编解码器的 Thinwire 相似。

不使用视频编解码器”策略设置是其他两种图形模式的默认回退方法(将视频编解码器用于主动更改的片段或整个屏幕)。

配置 Thinwire 以在整个屏幕上使用编解码器

针对整个屏幕图形模式设置将 VDA 配置为 使用视频编解码器对除文本之外的所有显示数据进行编码。文本使用 RLE 进行编码,并与屏幕的其余部分叠加。如果启用“针对 3D 图形工作负载进行优化”,则整个屏幕,包括文本在内的所有内容都将使用视频编解码器(H.265、H.265 或 AV1)进行编码。

将 Thinwire 配置为使用整个屏幕的视频编解码器是为大量的多媒体用例而设计的,在这种情况下,屏幕的较大区域正在运动。更高的压缩率和质量是以牺牲CPU和服务器的可扩展性为代价的。

在使用繁重的多媒体、3D 建模或 CAD 绘图应用程序时,此模式本身可以提供良好的用户体验。
如果规模不足,CPU 可能很快成为瓶颈,导致在繁重的多媒体条件下的性能和用户体验差。
在使用这些应用程序类型时,请考虑 GPU 卸载功能来补充此图形模式。

默认情况下, YUV420 用作色彩空间。使用全屏 H.264 和全屏 H.265,您可以在 YUV420 或 YUV444 之间进行选择:

HDX 图形 3

如您所见,YUV444 可以提高质量,但会显著影响带宽需求。在将 YUV 444 与 H.264 一起使用时,这也将禁用客户端的硬件解码。

随着 Citrix Workspace 应用程序 2305 的发布,我们引入了 H.265 4:4:4 支持,使我们能够将解码工作转移到功能强大的客户端 GPU 上,从而降低了 CPU 使用率并显著提高了性能。

Citrix内部测试显示,由于H265的卓越效率,与H.264 4:4:4 相比,每秒帧数(FPS)增加了4倍,每帧的大小与H.264相比减少了2.5倍。作为客户,这意味着您在相同的带宽利用率下获得更高的 FPS。

您可以使用以下设置为全屏 H.264 启用 YUV444:

  • 视觉质量:始终无损/构建为无损
  • 允许视觉无损压缩:启用

带有全屏显示器 H.265 的 YUV 444 有以下额外要求:

  • VDA
  • CVAD 2209 或更高版本
  • NVIDIA Pascal GPU 或更新版本

策略:

  • 使用视频编解码器:“在首选时使用”或“适用于整个屏幕”
  • 针对 3D 图形进行优化:“已启用”
  • 视觉质量:“无损构建”或“始终无损”
  • 允许视觉无损:“已启用”
  • 硬件编码:“已启用”

客户:

  • 适用于 Windows 2305 或更高版本的 Citrix Workspace
  • 启用 H.265 支持
  • 支持 H.265 4:4:4 解码的客户端 GPU:
  • NVIDIA Turing 或更高版本
  • Intel 第 10 代或更新版本

有关更多详细信息,请查看本文中的 Visio 图表。

设为无损

无损构建是一种特殊的 Thinwire 配置,可优化图形交付以实现交互性和最终图像质量。可以通过将视觉质量策略设置为无损构建来启用此设置。

“设为无损”模式可在屏幕活动期间使用 H.264、H.265 或 AV1 压缩屏幕,并在活动停止时锐化至像素完美(无损)。有损图像质量会适应可用资源,以保持最佳的帧速率。锐化步骤是逐渐执行的,从鼠标光标向外辐射。如果用户在锐化开始后不久开始屏幕活动,则可以立即做出响应。例如,选择一个模型并进行旋转。

H.264 无损构建提供了对整个屏幕使用视频编解码器的所有优点,包括硬件加速,但还有一个额外的好处,那就是最终的屏幕可以保证无损耗。这对于需要最终像素完美图像的 3D 类型工作负载至关重要。例如,操作医学图像。此外,H.264 无损构建使用比全屏 H.264 4:4:4 更少的资源。因此,使用无损构建通常会导致帧速率高于视觉无损 H.264 4:4:4。

HDX 图形配置

由于“使用视频编解码器进行压缩”策略是设置配置基准的良好起点,因此可以设置更多策略来进一步自定义您的可视化策略以适应您的不同工作负载。
通过自定义这些支持策略设置,您可以选择降低某些区域的质量,以回收资源、实现更高的可扩展性和节省带宽。
您还可以选择提高质量,以支持需要精确可视化的用例,如医疗保健行业那样。下面的图表概述了这些设置(单击图片查看完整尺寸的 PDF):

HDX 图形 2

此外, 请查看下面的用例部分,了解这些附加政策(如下所列)如何减少资源消耗,尽管质量略有下降(有时)。

CPU 或 GPU

默认情况下,所有图形编码处理都在 VDA 的 CPU 内进行。目前支持 AMD、Intel 和 NVIDIA 显卡在发送到终端进行解码之前将编码卸载到 GPU。

将图形编码卸载到 GPU 将释放 CPU 上的资源用于其他任务,从而为最终用户带来更好的整体体验。

由于对 GPU 功能的支持不同,在启用“对 视频编解码器使用硬件编码”策略设置时,请访问 Citrix Docs 查看每个供应商 GPU 的功能支持性。

用例

一旦知道了设置细节,下一个明显的问题是:“什么 HDX 模式最适合我的使用案例?”或者“有任何配置建议吗?” 像往常一样,答案是:这取决于。通常,“一刀切”的方法可能不是最佳方法,而是针对不同的用例进行不同的设置。那么,您必须问自己的第一个问题是:我面临哪些挑战和使用案例?我需要满足任何繁重的图形工作负载和多媒体要求吗?用户的网络连接如何?

通常,将 Thinwire 配置为使用视频编解码器主动更改区域是最佳选择。此外,最好明确配置不同的设置,以确保即使在更新环境后也能应用相同的设置。正如您在以下链接中看到的那样,使用的默认 HDX 模式已随着时间的推移而改变 HDX 图形编码器配置概述 — 真正重要的是。因此,请明确配置要运行的 HDX 模式。通常,不要使用“使用视频编解码器进行压缩:在首选时使用”,因为根据您运行的操作系统、硬件和 VDA 版本的类型,此设置可能会产生不同的效果。此外,请避免配置任何链接到旧图形模式的 Citrix 策略。这些设置仅在 Windows 服务器 2008 R2 和 Windows 7 上受支持,出于兼容性原因而保留这些设置。

为了让您了解如何开始,我们为下面的几个通用案例创建了一些基线配置。尽管如此,我们建议您运行自己的测试,以确保根据自己的特定需求配置了最佳模式:

低带宽

本用例描述了通过连接进行连接的用户,受到严重的带宽限制。以下基准是一个良好的开端:

  • 使用视频编解码器进行压缩:不要使用视频编解码器
  • 视觉质量:低
  • 简单图形的首选颜色深度:8 位/16 位
  • 额外的颜色压缩:启用
  • 目标帧速率:15
  • 目标最低帧率:10
  • 移动图像压缩:已启用
  • HDX 自适应传输:首选

正如您所看到的,即使使用低带宽连接,我们也经常不会将颜色深度设置为 8 位,而是将其保持在 16 位。尽管 8 位可以显著降低带宽需求,但它也显著降低了用户体验。因此,建议仅在其他情况下无法访问的最极端情况下使用 8 位。

呼叫中心/销售点

此使用案例描述了没有特殊多媒体要求的呼叫中心或销售点工作场所。我们的目标是在用户体验和用户密度之间找到一个很好的组合:

  • 使用视频编解码器进行压缩:不要使用视频编解码器
  • 视觉质量:中
  • 简单图形的首选颜色深度:24 位
  • 额外的颜色压缩:禁用
  • 目标帧速率:20
  • 目标最低帧率:10
  • 移动图像压缩:已启用
  • HDX 自适应传输:首选

任务工作者

在任务工作者使用案例中,用户还有一些多媒体要求,例如在线观看视频以及使用一组基本的办公应用程序:

  • 使用视频编解码器进行压缩:用于积极变化的区域
  • 对视频编解码器使用硬件编码:已启用(如果可用)
  • 视觉质量:中
  • 简单图形的首选颜色深度:24 位
  • 额外的颜色压缩:禁用
  • 目标帧速率:30
  • 目标最低帧率:10
  • 移动图像压缩:已启用
  • HDX 自适应传输:首选
  • 图形硬件加速:启用(为 Citrix Workspace 应用程序配置(如果可用)

3D 工作负载

对于 CAD/CAE 等 3D 工作负载,用户体验是关键,因此使用以下设置:

  • 使用视频编解码器进行压缩:用于积极变化的区域
  • 对视频编解码器使用硬件编码:已启用(如果可用)
  • 视觉质量:构建为无损
  • 目标帧速率:30(如有必要,可以为 60)
  • 目标最低帧率:10
  • HDX 自适应传输:首选
  • 图形硬件加速:启用(为 Citrix Workspace 应用程序配置(如果可用)
  • H265 图形解码:启用(为 Citrix Workspace 应用程序配置(如果可用)

终端设备考虑

我们的目标是支持将 Citrix Virtual Apps and Desktops 交付到任何位置的任何设备。

表面上这听起来很有吸引力。但是,这并不一定意味着所有功能都存在于所有端点上。例如,可能缺少 H.264/H.265/AV1 解码支持,或者仅在特定边界内支持,例如最大显示器分辨率或最大显示器数量。

我们建议您查看所选终端的供应商文档,以确定对 H.264/H.265/AV1 的总体支持性。

瘦客户端

大多数瘦客户端都是针对目标用例专门构建的,其特定的软件配置针对其硬件平台进行了优化。我们鼓励您在购买之前与您的供应商合作,评估环境中的瘦客户端测试单元,以确保该终端满足您的组织需求。

强烈建议您在项目的研究阶段访问我们的 Citrix Ready 网站 ,以确定所考虑的硬件是否已通过评估并与所需的功能兼容。

Citrix Ready 计划根据符合条件的使用情形功能对 瘦客户端 进行分类:

  • HDX Ready — 支持任务工作者访问基本办公应用程序和轻型多媒体
  • HDX Premium — 支持与 HDX Ready 终端节点类似的工作负载此外,HDX Premium 终端节点为统一通信提供支持,例如 Skype for Business。
  • HDX 3D Pro — 支持在访问图形密集型应用程序(如 CAD、地理信息系统 (GIS) 和医学影像相关软件时需要高端端性能的高级用户 H.264 /H.265 编解码器支持才能通过资格认证。

您可以在此处找到每个 HDX 级别下功能的认证标准。

厚的客户

如果您在环境中管理厚客户端端点,请在确定编解码器支持 (H.264/H.265) 时考虑以下组件:

  • 操作系统:某些 Linux 发行版需要安装其他库。
  • 浏览器:适用于 HTML5 的 Citrix Workspace
  • Citrix Receiver/Workspace 应用程序版本:功能支持列表可在此处找到。
  • GPU 卸载功能

工具

是否有任何工具可以帮助您配置环境?是的,有很多可以帮助您在旅途中找到最适合您的配置集:

HDX Monitor

HDX 图形 4

HDX Monitor 可帮助您检查在特定会话中实际有效的设置。最新版本可以 在这里找到。

图形状态指示器

可通过启用图形状态指示器设置通过 Citrix 策略启用内置图形状态指示器,并将显示 Citrix 会话中的当前设置:

HDX 图形 5

关键要点

使用视频编解码器进行压缩 策略允许您在上面所示的不同 HDX 图形模式之间进行选择。每种模式在资源消耗方面都有其优势和权衡,无论是 CPU 还是网络利用率。资源消耗,特别是 CPU,影响服务器的可扩展性

可以自定义其他策略,例如视觉质量、目标帧率等,以牺牲较小的视觉质量为代价来抵消资源消耗,或者在最需要的地方提高质量。自定义这些策略以适应自己环境中的用例。请参阅 Visio 图表以指导您完成整个过程。

端点选择对于与所选图形模式的兼容性至关重要。对于不支持 H.264 的端点,VDA 将 Thinwire 配置为不使用视频编解码器作为备用方法。

使用我们的内置工具(HDX Monitor 和图形状态指示器)来评估您的策略设置是否达到了预期的结果。

用于主动更改区域的 Thinwire 通常是一个合适的起点。但是,了解您的用例并相应地配置环境是向最终用户提供丰富体验的最佳方法。

来源

本文的目标是帮助您规划自己的实施。为了简化此任务,我们想为您提供源图,您可以根据自己的需要进行调整:源图

设计决策:HDX 显卡概述