为 Azure 虚拟桌面启用 GPU 加速

重要

高效视频编码 (H.265) 硬件加速目前处于预览状态。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

Azure 虚拟桌面在呈现和编码中支持图形处理单元 (GPU) 加速,可以使用远程桌面协议 (RDP) 提高应用性能和可伸缩性。 GPU 加速对于图形密集型应用程序至关重要,例如图形设计师、视频编辑师、3D 建模师、数据分析师或可视化专家使用的应用程序。

Azure 虚拟桌面中有三个用于 GPU 加速的组件,它们协同工作来改善用户体验:

  • GPU 加速的应用程序呈现:使用 GPU 在远程会话中呈现图形。

  • GPU 加速的帧编码:远程桌面协议对呈现的所有图形进行编码,以便传输到本地设备。 当屏幕的一部分经常更新时,它会使用高级视频编码 (AVC) 视频编解码器(也称为 H.264)进行编码。

  • 全屏视频编码:全屏视频配置文件可提供更高的帧速率和更好的用户体验,但会使用更多的网络带宽以及会话主机和客户端资源。 它有利于 3D 建模、CAD/CAM 或视频播放和编辑等应用程序。 可以选择使用以下方法对其进行编码:

    • AVC/H.264。
    • 高效视频编码 (HEVC),也称为 H.265。 与 AVC/H.264 相比,它在相同视频质量下可实现 25-50% 的数据压缩,或在相同比特率下实现更高的质量。

注意

  • 如果同时启用 HEVC/H.265 和 AVC/H.264 硬件加速,但本地设备上不提供 HEVC/H.265,则会改用 AVC/H.264。

  • 即使没有 GPU 加速,也可以使用 AVC/H.264 启用全屏视频编码,但 HEVC/H.265 需要兼容的支持 GPU 的远程虚拟机。

  • 你还可以增加默认色度值以提高图像质量。

本文介绍哪些 Azure VM 大小可用作具有 GPU 加速的会话主机,以及如何启用 GPU 加速进行呈现和编码。

支持的 GPU 优化 Azure VM 大小

以下表列出了 Azure VM 大小针对 GPU 加速进行的优化,并支持用作 Azure 虚拟桌面中的会话主机:

Azure VM 大小 GPU 加速的应用程序渲染 GPU 加速的帧编码 全屏视频编码
NVv4 系列 支持 不可用 支持
NVadsA10 v5 系列 支持 AVC/H.264 HEVC/H.265
AVC/H.264
NCasT4_v3 系列 支持 AVC/H.264 HEVC/H.265
AVC/H.264

VM 大小的正确选择取决于许多因素,包括特定的应用程序工作负载、所需的用户体验质量以及成本。 通常,在给定的用户密度下,GPU 的大小越大、功能越强,提供的用户体验就越好。 较小和分数级的 GPU 大小可以更精细地控制成本和质量。

具有 NVIDIA GPU 的 VM 大小附带了支持 25 个并发用户的 GRID 许可证。

重要

Azure NCv3 系列 VM 通常不适合用作会话主机。 这些 VM 大小是为专用的高性能计算或机器学习工具而量身定制,例如使用 NVIDIA CUDA 构建的工具。 对于大多数应用程序或 Windows 用户界面,它们不支持 GPU 加速。

先决条件

在启用 GPU 加速之前,需要:

此外,对于 HEVC/H.265 硬件加速,还需要:

  • 会话主机运行的必须为 Windows 10 或 Windows 11

  • 桌面应用程序组。 不支持 RemoteApp。

  • 如果将色度值增加到 4:4:4,则当使用 HEVC 硬件加速时,色度值会回退到 4:2:0。

  • 通过卸载主机组件在会话主机上禁用多媒体重定向

  • 组策略中提供的适用于 Azure 虚拟桌面的管理模板,用于配置会话主机。

  • 用于连接到远程会话的本地 Windows 设备必须具有:

    • 具有 HEVC (H.265) 4K YUV 4:2:0 解码支持的 GPU。 有关详细信息,请参阅制造商的文档。 下面是一些制造商的文档链接:

    • 已安装 Microsoft HEVC 编解码器。 Microsoft HEVC 编解码器包含在 Windows 11 22H2 或更高版本的全新安装中。 还可以从 Microsoft Store 购买 Microsoft HEVC 编解码器

    • 用于连接到远程会话的以下应用之一。 不支持其他平台和版本。

      • Windows 上的 Windows 应用,版本 1.3.278.0 或更高。
      • Windows 版本 1.2.4671.0 或更高版本上的远程桌面应用。

在会话主机中安装支持的图形驱动程序

若要在 Azure 虚拟桌面中利用 Azure N 系列 VM 的 GPU 功能,必须安装相应的图形驱动程序。 按照支持的操作系统和驱动程序中的说明来了解如何安装驱动程序。

重要

仅支持 Azure 分布式驱动程序。

安装驱动程序时,以下是一些重要准则:

  • 对于具有 NVIDIA GPU 的 VM 大小,只有 NVIDIA GRID 驱动程序支持大多数应用程序和 Windows 用户界面的 GPU 加速。 NVIDIA CUDA 驱动程序不支持这些 VM 大小的 GPU 加速。 若要下载并了解如何安装该驱动程序,请参阅在运行 Windows 的 N 系列 VM 上安装 NVIDIA GPU 驱动程序,并确保安装 GRID 驱动程序。

    • 对于 HEVC/H.265 硬件加速,必须使用 NVIDIA GPU 驱动程序 GRID 16.2 (537.13) 或更高版本。
  • 对于具有 AMD GPU 的 VM 大小,请安装 Azure 提供的 AMD 驱动程序。 若要下载并了解如何安装该驱动程序,请参阅在运行 Windows 的 N 系列 VM 上安装 AMD GPU 驱动程序

启用 GPU 加速的应用程序呈现、帧编码和全屏视频编码

默认情况下,远程会话使用 CPU 进行呈现,并且不使用可用的 GPU。 可以使用组策略来启用 GPU 加速的应用程序呈现、帧编码和全屏视频编码。

选择方案的相关选项卡。

若要使用组策略启用 GPU 加速的应用程序呈现,请执行以下操作:

  1. 在你用于管理 Active Directory 域的设备上打开“组策略管理”控制台。

  2. 创建或编辑面向提供你要配置的远程会话的计算机的策略。

  3. 导航到“计算机配置”>“策略”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“远程会话环境”

    显示组策略编辑器中重定向选项的屏幕截图。

  4. 配置下列设置:

    1. 对于 GPU 加速的应用程序呈现,请双击策略设置“对所有远程桌面服务会话使用硬件图形适配器”以打开它。 选择“已启用”,然后选择“确定”。

    2. 对于 GPU 加速的帧编码,请双击策略设置“为远程桌面连接配置 H.264/AVC 硬件编码”以打开它。 选择“已启用”,然后选择“确定”。 如果你使用的是 Windows Server 2016,则会在设置中看到一个额外的下拉菜单;请将“首选 AVC 硬件编码”设置为“始终尝试”。

    3. 对于仅使用 AVC/H.264 的全屏视频编码,请双击策略设置“为远程桌面连接优先使用 H.264/AVC 444 图形模式”以打开它。 选择“已启用”,然后选择“确定”

  5. 对于仅使用 HEVC/H.265 的全屏视频编码,导航到“计算机配置”>“策略”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“Azure 虚拟桌面”。

    显示组策略中的 Azure 虚拟桌面选项的屏幕截图。

  6. 双击策略设置“配置远程桌面连接的 H.265/HEVC 硬件编码”以将其打开。 选择“已启用”,然后选择“确定”。

  7. 确保将该策略应用于会话主机,然后重启这些主机以使设置生效。

验证 GPU 加速

若要验证远程会话是否正在使用 GPU 加速、GPU 加速的应用程序呈现、帧编码或全屏视频编码,请执行以下操作:

  1. 如果要验证 HEVC/H.265 硬件加速,请完成以下更多步骤:

    1. 通过打开 PowerShell 提示符并运行以下命令,确保本地 Windows 设备安装了 Microsoft HEVC 编解码器:

      Get-AppxPackage -Name "Microsoft.HEVCVideoExtension" | FT Name, Version
      

      输出应类似于以下输出:

      Name                         Version
      ----                         -------
      Microsoft.HEVCVideoExtension 2.1.1161.0
      
    2. 如果使用的是多媒体重定向,请确保在会话主机上禁用多媒体重定向

  2. 通过 Azure 虚拟桌面或直接 RDP 连接来连接到配置的会话主机之一。

  3. 打开一个使用 GPU 加速的应用程序,并为 GPU 生成一些负载。

  4. 打开任务管理器,转到“性能”选项卡。选择 GPU 以查看应用程序是否正在使用 GPU。

    显示远程桌面会话中任务管理器中的 GPU 使用情况的屏幕截图。

    提示

    对于 NVIDIA GPU,请使用 nvidia-smi 实用工具在运行应用程序时检查 GPU 利用率。 有关详细信息,请参阅“验证驱动程序安装”。

  5. 从“开始”菜单打开事件查看器,或者从命令行运行 eventvwr.msc

  6. 导航至下列任一位置:

    1. 对于通过 Azure 虚拟桌面进行的连接,请转到“应用程序和服务日志”>“Microsoft”>“Windows”>“RemoteDesktopServices-RdpCoreCDV”>“Operational”。

    2. 对于通过直接 RDP 连接进行的连接,请转到“应用程序和服务日志”>“Microsoft”>“Windows”>“RemoteDesktopServices-RdpCoreTs”>“Operational”。

  7. 查找以下事件 ID:

    • 事件 ID 170:如果在事件文本中看到“AVC 硬件编码器已启用: 1”,则表示正在使用 GPU 加速的帧编码。

    • 事件 ID 162:

      • 如果在事件文本中看到 AVC 可用:1,初始配置文件:2048,则表示正在使用 AVC/H.264 和全屏视频编码的 GPU 加速帧编码。
      • 如果在事件文本中看到 AVC 可用:1,初始配置文件:32768,则表示正在使用 HEVC/H.265 的 GPU 加速帧编码。

增加默认色度值以提高图像质量。