XenApp HDX 3D Pro And GPU Sharing 配置及优化

  1. 开启DirectX加速

通过 HDX 3D,在 XenApp 上运行的具有大量图形的应用程序可以呈现在服务器的图形处理单元 (GPU) 上。 通过将 DirectX、Direct3D 和 Windows Presentation Foundation (WPF) 的呈现移动到服务器的 GPU,图形呈现不会降低服务器的中央处理单元 (CPU) 的速度。 此外,服务器还能够处理更多图形,因为工作负载在 CPU 和 GPU 之间进行了拆分。 仅带有支持显示驱动程序接口 (DDI) 9ex、10 或 11 版的 GPU 的服务器上提供此功能。 DirectX 和 Direct3D 无需任何特殊设置。

HDX 3D 支持多个用户共享图形卡。 当 HDX 3D 与 XenServer GPU Passthrough 功能结合使用时,单台服务器可承载多个图形卡,每个虚拟机承载一个。

要使用服务器的 GPU 呈现 WPF 应用程序,请在运行 XenApp 的服务器的注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook 子密钥中,创建密钥类型为 REG_DWORD 的 EnableWPFHook 密钥,并将其值设为 1。

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

 

 

  1. 安装XenApp 6.5 OpenGL GPU Sharing 功能加载项

XenApp 6.5 的此功能加载项支持在远程桌面会话中呈现 OpenGL 应用程序的图形处理单元 (GPU) 硬件。 此功能可用于裸机或虚拟机,以提高应用程序的可扩展性及性能。 可从http://www.citrix.com/downloads 下载 XenApp 6.5 OpenGL GPU Sharing 功能加载项 (其实就是补丁XA650W2K8R2X64038)。 选择 Product > XenApp(产品 > XenApp)和 Download Type > Components(下载类型 > 组件),然后选择 XenApp 6.5 OpenGL GPU Sharing Feature Add-on(XenApp 6.5 OpenGL GPU Sharing 功能加载项)。 有关此功能加载项的支持论坛,请访问 http://forums.citrix.com/forum.jspa?forumID=1602

通过 HDX 3D,在 XenApp 上运行的具有大量图形的应用程序可以呈现在服务器的 GPU 中。 通过将 OpenGL 呈现移至服务器的 GPU,图形呈现不会降低服务器的中央处理器 (CPU) 的速度。 此外,服务器还能够处理更多图形,因为工作负载在 CPU 和 GPU 之间进行了拆分。 XenApp 6.5 OpenGL GPU Sharing 功能加载项无需任何特殊设置。

您可以在 XenApp 服务器上安装多个 GPU,方法是安装一个配备有多个 GPU 的图形卡,或者安装多个配备有一个或多个 GPU 的图形卡。 建议不要在服务器上混合使用异类图形卡。

注: 虚拟机需要直接直通访问 GPU,这可通过使用 Citrix XenServer 或 VMware vSphere 实现。 当 HDX 3D 与 GPU 传递结合使用时,服务器中的每个 GPU 都支持一台多用户 XenApp 虚拟机。

大多数用户并不需要一个专用 GPU 进行呈现,因此 OpenGL GPU Sharing 支持多个共享 GPU 资源的并发会话。 此功能不依赖任何特定的图形卡。 在虚拟机管理程序上运行时,请选择与虚拟机管理程序的 GPU 直通实现兼容的硬件平台和图形卡。 有关已通过 XenServer GPU 直通证书测试的硬件列表,请访问 http://hcl.vmd.citrix.com/GPUPass-throughDeviceList.aspx。 在裸机上运行时,XenApp 在符合条件的 GPU 间分配用户会话,以保证所有安装的 GPU 都符合条件,使用相同的 GPU。

使用 OpenGL GPU Sharing 的可扩展性取决于正在运行的应用程序、占用的视频 RAM 量以及图形卡的处理能力。 例如,对于运行 ESRI ArcGIS 等应用程序的 NVIDIA Q6000 和 M2070Q 卡,已报告具有 8 至 10 位用户的可扩展性。 这些卡提供 6 GB 的视频 RAM。 较新的 NVIDIA GRID 卡提供 8 GB 的视频 RAM 和显著提高的处理能力(更多 CUDA 内核)。 其他应用程序可能会提高更多,在高端 GPU 上达到 32 个并发用户。

注: 一些应用程序处理视频 RAM 短缺的能力要优于其他应用程序。 如果硬件严重过载,可能会导致图形卡驱动程序不稳定或崩溃。 请限制并发用户数,避免达到资源分配上限。

确认是否可以使用第三方工具(如 GPU-Z)来实现 GPU 加速。 有关 GPU-Z,请访问 http://www.techpowerup.com/gpuz/

要在 XenApp 6.5 服务器上安装 OpenGL GPU Sharing

无论 XenApp 6.5 系统上已安装哪些修补程序,都可以在其上安装 XenApp 6.5 OpenGL GPU Sharing 功能加载项。 但是,Citrix 建议您先安装 Hotfix Rollup Pack 1 或更高版本,然后再安装 OpenGL GPU Sharing。

此功能加载项与 Microsoft Windows Installer 3.0 一起打包成 .msp 文件。 有关部署 .msp 文件的更多信息,请参阅 Microsoft 文章 884016 或访问 Microsoft Web 站点并搜索关键字 msiexec。

此安装程序符合 Microsoft User Account Control (UAC)。 如果启用了 UAC,必须在提升模式下运行安装程序,即必须同时启用管理权限。 有关 UAC 的详细信息,请参阅 Microsoft TechNet 或访问 Microsoft Web 站点并搜索关键字 UAC。

要成功安装此功能加载项,服务器不能设置任何注册表修改限制。

此版本使用 Hotfix Rollup Pack Installation Wizard 来安装功能加载项。

  1. 将该功能加载项软件包复制到 XenApp 服务器硬盘驱动器上的空文件夹中。
  2. 关闭所有应用程序。
  3. 运行可执行文件。 以下文件将复制到您的系统中:

    • %PROGRAMFILES(X86)%\Citrix\System32\CtxGraphicsHelper.dll
    • %PROGRAMFILES(X86)%\Citrix\System32\CtxGraphicsHelper64.dll
      将自动创建以下注册表项:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "Flag"=dword:00000014 "FilePathName"="C:\\Program Files (x86)\\Citrix\\system32\\CtxGraphicsHelper64.dll"
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "Flag"=dword:00000014 "FilePathName"="C:\\Program Files (x86)\\Citrix\\system32\\CtxGraphicsHelper.dll"
  4. 重新启动服务器。

试用 CUDA 或 OpenCL 应用程序的 GPU 加速(实验阶段)

此版本还支持对用户会话中运行的 CUDA 和 OpenCL 应用程序进行 GPU 加速(实验阶段)。 默认情况下,会禁用此支持功能,但可以启用该功能以进行测试和评估。

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

  1. 要使用 CUDA 加速功能(实验阶段),请启用以下注册表设置:

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "CUDA"=dword:00000001
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "CUDA"=dword:00000001
  2. 要使用 OpenCL 加速功能(实验阶段),请启用以下注册表设置:
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "OpenCL"=dword:00000001
  4. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "OpenCL"=dword:00000001
    支持论坛网址:http://forums.citrix.com/forum.jspa?forumID=1602

 

  1.  OpenGL 加速器(有些软件对于Citrix OpenGL加速器不兼容,所以这边还需要用户先行测试)

OpenGL Accelerator 是一个适用于 OpenGL 应用程序(例如 ArcGIS、Google Earth、Nehe、Maya、Blender、Voxler、CAD 和 CAM)的软件光栅器。 在某些情况下,借助 OpenGL Accelerator,无需使用图形卡即可在 OpenGL 应用程序中提供极佳的用户体验。 OpenGL Accelerator 在 XenDesktop 7.0 介质中提供,也可作为其他 XenDesktop 版本以及 XenApp 和 VDI-in-a-Box 的单独下载软件包提供。

支持的平台:

  • Windows 8,64 位和 32 位版本
  • Windows 7,64 位和 32 位版本
  • Windows Server 2012
  • Windows Server 2008 R2

何时应尝试使用 OpenGL Accelerator?

  • 如果 XenServer 或其他虚拟机管理程序上的虚拟机中运行的应用程序存在性能问题,可尝试使用 OpenGL Accelerator。 对于某些应用程序,OpenGL Accelerator 优于 Windows 操作系统中附带的 Microsoft OpenGL 软件光栅器。 例如,OpenGL Accelerator 支持采用 OpenGL 2.1 及之前版本的应用程序。
  • 对于在工作站上运行的应用程序,请首先尝试使用工作站图形适配器所提供的默认 OpenGL 支持功能版本。 如果图形卡是最新版本,则大多数情况下它将提供最佳性能。 如果图形卡是旧版本,或者如果图形卡无法提供令人满意的性能,则可以尝试使用 OpenGL Accelerator。
  • 对于在使用基于 CPU 的软件光栅器时无法充分发挥功能的 3D OpenGL 应用程序,可能有必要使用 OpenGL GPU 硬件加速功能。 此功能可用于裸机或虚拟机。 有关详细信息,请参阅Windows Server 操作系统 GPU 加速

注: 有关此功能加载项的支持论坛,请访问 http://forums.citrix.com/forum.jspa?forumID=1602

安装 OpenGL Accelerator

  1. 转到 XenApp 6.5 Feature Pack 2 下载页面
    此软件包中包含对 XenApp 6.5 Feature Pack 2 的支持功能以及 OpenGL Accelerator、XenApp Connector、GPU Sharing 和 Profile Management 组件。
  2. 如果您尚未登录,请使用 Citrix 用户名和密码进行登录。
  3. 在“所有版本通用 XenApp 6.5 Feature Pack 2 组件”部分,单击下载。
  4. 安装软件包。
    注: 32 位系统依赖于此软件包中提供的下列文件:< >pthreadGC2.dlllibstdc++-6.dlllibgcc_s_dw2-1.dll
    64 位系统没有依赖关系。
  5. 在系统文件夹中备份 OpenGL 二进制文件 opengl32.dll。
  6. 将此 Citrix OpenGL 二进制文件复制到系统文件夹中。

 

如何安装OpenGL 加速器

在32位系统上

  1.            备份System文件夹下的OpenGL二进制文件 Opengl32.dll。
  2.            复制Citrix OpenGL二进制文件(32位)到System文件夹下。

在64位系统上

  1.          备份System文件夹下的OpenGL二进制文件 Opengl32.dll。
  2.          复制Citrix OpenGL二进制文件(64位)到System文件夹下。
  3.          备份SysWow文件夹下的OpenGL二进制文件 Opengl32.dll。
  4.          复制Citrix OpenGL二进制文件(64位)到SysWow文件夹下。

 

如何替换在System32、SysWOW64文件下的OpenGL二进制文件

           1. 激活administrator账户。打开使用Administrator运行的CMD并输入:NET USER ADMINISTRATOR /ACTIVE:YES

           2. 重启并使用administrator账户登录。

           3. 打开Windows资源管理器,并打开System32文件夹下,选择您需要删除或者重命名的文件。

                    a. 单击文件属性,选择Security标签,点击Advanced。

                    b. 单击Owner标签,选择Edit,然后在“Change Owner”下单击 “OTHER USERS OR GROUPS”。

                    c. 单击Advanced,然后点击 “Find Now”。选择Administrator这个用户,点击 Apply,点击OK。点击OK确认Take Ownership。

           4. 重新打开文件属性标签,然后Security标签。Edit 并选择administrator这个用户,将权限设置为FULL Control。单击OK。

这个时候就可以删除或者重命名相应的文件了。操作完毕之后使用NET USER ADMINISTRATOR /ACTIVE:No 命令停用administrator账户。

 

  1. XenApp HDX 3D Policy优化

Machine generated alternative text:Active Settings:Extra Color CompressionICA\Visual Display\Still Images fSJ1 RemoveDisabledHeavyweight compressionICA\Visual Display\Still Images f1th:t RemoveDisablediossy compression levelICA\V顂ual Display\Still Images  RemoveNoneMax Frames Per SecondICA\Visual Display Edit Remove30 fpsProgressive compression levelICA\Visual Display\Moving Images  RemoveN one

中文版的策略如下:

  • 超级压缩 -> 禁用
  • 额外颜色压缩 -> 禁用
  • 渐进式压缩级别 -> 无
  • 有损压缩级别 -> 无
  • 每秒最大帧数 -> 30FPS

这些策略是最大限度的提升图像显示质量和显示效果而设置的。如果打开压缩等策略,效果会差很多。