设计决策:HDX图形概述

介绍

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

重要注意事项:除非另有说明,本文基于Citrix Virtual Apps and台式机1912。有关基于7.15的概述,请参阅博客文章HDX图形编码器配置概述-真正重要的是什么

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

HDX图形概述

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

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

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

HDX图形1

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

在思杰虚拟应用程序和桌面中,Thinwire可以采用不同的方法进行显示分析、压缩和传输:思杰采用业界领先的标准H.264和H.265,在其“全屏”和“选择性”编解码器实现中有效地传输高质量的视频内容。

  • 选择配置Thinwire不使用视频编解码器配置Thinwire使用视频编解码器主动改变区域允许Thinwire感知瞬时内容(流体图像或视频)的区域,并根据在端点上检测到的设置策略和功能对其进行编码。Thinwire将这些“选定”(或瞬态)区域编码为自适应JPEG或H.264 / H.265。自适应JPEG和“选择性”H.264 / H.265被认为是子功能,Thinwire是核心技术。然后,将剩余的非瞬态区域(编码为JPEG和运行长度编码(RLE))组合在一起以完成会话内显示。
  • 选择配置Thinwire为整个屏幕使用编解码器告诉Thinwire将整个屏幕视为瞬时内容,除了文本(默认情况下),并使用H.264或H.265视频编解码器对显示数据进行编码。然后将文本覆盖到屏幕上以提供完整的图像。H.265在不影响质量的情况下实现了比H.264更高的压缩。然而,H.265在处理方面是昂贵的,只有在使用时才支持选择gpu在虚拟交付代理(VDA)上。当使用CPU编码时,不能使用H.265。此外,H.265兼容的硬件,以GPU或专用瘦客户端的形式,需要在客户端端点解码H.265显示数据。查看供应商文档,确定端点硬件是否支持H.265。

由于H.264的兼容性有更广泛的基础,除非另有说明,否则我们在本文中主要关注全屏H.264和选择性H.264。

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

  • 文本和简单图像几乎总是使用游程编码(RLE)以无损方式进行编码。从版本7.17开始,使用了Citrix专有的RLE风格,称为MDRLE,它允许更好的压缩率CTX232041.使优化3D图形工作负载将禁用无损文本检测,并使用H.264 / H.265传输内容,而不是RLE。您可以通过本文后面的Visio图表可视化该策略。
  • 静态图像在选择性H.264 / H.265和自适应JPEG两种情况下,如果选择全屏H.264 / H.265作为图形模式,则采用JPEG进行编码,视频编解码器采用H.264 / H.265。如果使用JPEG,则可以通过视觉质量设置来配置其质量。查看本文后面所附的Visio图表以了解更多细节。
  • 移动图像配置全屏H.264 / H.265或带可选H.264的Thinwire时,使用视频编解码器H.264 / H.265。如果配置了带有自适应JPEG的Thinwire,则JPEG的质量会自动适应(因此得名)诸如帧速率和可用带宽之类的条件。

简而言之,Thinwire在配置时使用了以下不同的技术:

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

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

配置Thinwire使用视频编解码器主动改变区域

  • 文字:RLE
  • 简单的图像和纯色:RLE
  • 静态图片:JPEG
  • 运动图像:H.264 / H.265

配置Thinwire为整个屏幕使用编解码器

  • 文本:RLE(或H.264 / H.265如果优化3D图形工作负载已启用)
  • 简单图像和纯色:H.264 / H.265
  • 静态图像:H.264 / H.265
  • 运动图像:H.264 / H.265

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

HDX图形模式

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

  • 对于活跃变化的区域=细线选择H.264 / H.265
  • 不要使用视频编解码器(默认的回退方法)=使用自适应JPEG
  • 对于整个屏幕=细线全屏H.264 / H.265
  • 首选时使用(policy default) =细线选择H.264 / H.265使用,除非优化3D图形工作负载也是固定的,那么细线全屏H.264 / H.265使用。

客户机端点和虚拟交付代理(Virtual Delivery Agent, VDA)的功能在会话启动或会话重新连接时进行评估。如果客户端不支持H.264 / H.265,无论VDA上设置的策略如何,显示方式都是Thinwire with Adaptive JPEG。

配置Thinwire使用视频编解码器主动改变区域

对于活跃变化的区域图像模式是我们最平衡的设置。因此,我们建议在您开始在环境中设置策略基线时从这种模式开始,因为它涵盖了广泛的用户群(例如偶尔播放视频的Office worker)。

该模式的核心是利用JPEG处理静态图像,RLE处理文本、简单图像和纯色块,此外还利用位图缓存处理由VDA确定为静态的屏幕区域。VDA不断分析屏幕上的流体运动区域,如多媒体,并有选择地使用H.264 / h.265对流体区域进行编码。

如下图所示,在检测到流体运动区域之前,H.264 / H.265处于“非活动”状态。然后,在流体运动期间,VDA转换到H.264 / H.265对选定区域进行编码,一旦选定区域不再包含流体内容,VDA就返回到“非活动”状态。

HDX图形2

H.264 / H.265提供了比自适应JPEG更丰富的体验,以CPU为代价压缩流体运动区域。对于多媒体工作负载,与自适应JPEG相比,H.264 / H.265的网络带宽通常更少。强烈建议使用您的特定用例运行您自己的测试(检查下面的工具部分)。

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

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

在此图形模式下,Thinwire的行为与配置为“主动更改区域”时类似。VDA分析屏幕上的流体运动区域。然而,Thinwire不是用H.264 / H.265编码,而是将运动图像编码为自适应JPEG,以提供高兼容性或不需要H.264 / H.265的地方。其余区域以JPEG格式表示静态图像,以RLE格式表示文本和简单图形,以提供高质量的图像。

使用自适应JPEG编码运动图像的CPU处理通常低于使用Full Screen或active Changing Regions的H.264的Thinwire。如果您优先考虑服务器的可伸缩性,则需要这种模式。这种权衡体现在广域网场景中带宽的增加和动态图像保真度的降低。该图形模式推荐用于移动图像最少的用例,例如在呼叫中心或销售点系统中。在这种情况下,这种模式下的带宽利用率与配置了主动变化区域视频编解码器的Thinwire相似。

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

配置Thinwire为整个屏幕使用编解码器

对于整个屏幕图形模式设置配置VDA使用H.264 / H.265编码所有显示数据,除了文本。文本使用RLE进行编码,并与屏幕的其余部分重叠。如果优化3D图形工作负载整个屏幕,包括文本,都被编码为H.264 / H.265。

将Thinwire配置为在整个屏幕上使用视频编解码器是为重型多媒体用例设计的,在这种用例中,屏幕的较大区域处于运动状态。更高的压缩和质量是以牺牲CPU和服务器的可伸缩性为代价的。

在使用大量多媒体、3d建模或CAD绘图应用程序时,这种模式本身提供了良好的用户体验。如果CPU尺寸过小,会很快成为瓶颈,导致在重度多媒体环境下性能和用户体验变差。在使用这些应用程序类型时,考虑GPU卸载功能来补充这种图形模式。

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

HDX图形3

正如您所看到的,YUV444产生了更好的质量,但它对带宽需求有重大影响。YUV444的使用也会禁用客户端的硬件解码(因此也会禁用H.265)。

您可以通过以下设置启用全屏H.264的YUV444:

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

查看本文中的Visio图表了解更多细节。

HDX图形配置

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

HDX图形2

此外,请参阅我们的用例下面的小节将发现这些附加策略(列在下面)如何减少资源消耗,尽管(在某些情况下)会略微降低质量。

CPU或GPU

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

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

由于GPU特性支持不同,请访问Citrix文档查看每个厂商GPU的特性可支持性视频编解码器使用硬件编码策略设置。

用例

一旦知道了设置细节,接下来的问题就很明显了:“哪种HDX模式最适合我的用例?或“有什么配置建议吗?”和往常一样,答案是:视情况而定。在大多数情况下,“一刀切”的方法可能不是最好的方法,而是针对不同用例的不同设置。因此,您必须问自己的第一个问题是:我有哪些挑战和用例?是否有任何图形工作负载,我需要满足任何多媒体要求?用户的网络连接情况如何?

在大多数情况下,配置Thinwire为主动更改区域使用视频编解码器是最佳选择。此外,最好显式地配置不同的设置,以确保即使在更新环境后也能应用相同的设置。正如你在下面的链接中看到的,默认的HDX模式随着时间的推移而改变HDX图形编码器配置概述-真正重要的是什么.因此,显式地配置您想要运行的HDX模式。一般来说,不要使用“使用视频编解码器进行压缩:首选时使用”,因为此设置可能会根据操作系统类型,硬件和VDA版本的不同而产生不同的效果。还要避免配置任何与遗留图形模式相关联的Citrix策略。这些设置仅在Windows Server 2008 R2和Windows 7上支持,出于兼容性原因而保留。

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

低带宽

这个用例描述了一个用户通过一个严重带宽限制的连接进行连接。下面的基线可以是一个好的开始:

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

正如你所看到的,即使在低带宽连接下,我们通常也不会将颜色深度设置为8位,而是将其保持在16位。虽然8位可以大大降低带宽需求,但它也带来了显著降低的用户体验。因此,8位仅推荐用于最极端的情况,否则访问是不可能的。

呼叫中心/销售点

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

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

任务工作

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

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

3 d工作负载

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

  • 使用视频编解码器进行压缩:用于主动改变区域
  • 对视频编解码器使用硬件编码:启用(如果可用)
  • 视觉质量:构建到无损
  • 目标帧率:30(必要时可设为60)
  • 目标最小帧率:10
  • HDX自适应传输:优先考虑
  • 图形的硬件加速:启用(如果可用,则为Citrix Workspace应用程序配置)
  • H265解码图形:启用(配置为Citrix工作区应用程序,如果可用)

终端设备考虑

我们的目标是支持将Citrix虚拟应用程序和桌面交付到任何设备、任何地点。

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

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

瘦客户机

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

强烈建议参观我们的Citrix Ready网站在项目的研究阶段,确定正在考虑的硬件是否通过了评估,是否与您想要的功能兼容。

Citrix Ready程序进行分类瘦客户机基于合格的用例功能:

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

您可以在每个HDX级别下找到功能的认证标准在这里

厚客户

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

工具

有什么工具可以帮助您配置环境吗?是的,有很多可以帮助您找到适合您的完美配置集:

HDX监控

HDX图形4

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

图形状态指示灯

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

HDX图形5

关键的外卖

使用视频编解码器进行压缩policy允许您在上面所示的不同HDX图形模式之间进行选择。每种模式在资源消耗(无论是CPU还是网络利用率)方面都有其优点和缺点。资源消耗(尤其是CPU)会影响服务器的可伸缩性。

额外的策略,比如视觉质量、目标帧率,以及其他可以定制的策略,以牺牲较小的视觉质量来抵消资源消耗,或者在最需要的地方增加质量。定制这些策略以适应您自己环境中的用例。请参考Visio图表来指导您完成该过程。

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

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

Thinwire对于活跃变化的区域往往是一个恰当的起点。然而,了解您的用例并相应地配置您的环境是向最终用户交付丰富体验的最佳方法。

来源

本文的目标是帮助您规划自己的实现。为了使这项任务更容易,我们愿意为您提供源图,您可以根据自己的需求进行调整:源图

设计决策:HDX图形概述