你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 虚拟桌面启用 GPU 加速

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

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

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

  • GPU 加速远程帧编码:远程桌面协议对呈现的所有图形进行编码,以便传输到本地设备。 GPU 加速远程帧编码使用 GPU 对呈现的图形帧进行编码,以提供更高的帧速率和更好的用户体验,尽管此功能可能会消耗更多的网络带宽以及会话主机和客户端资源。 这有利于 3D 建模、CAD/CAM 或视频播放和编辑等应用程序。 可以选择使用以下方法进行编码:

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

注意

  • 如果同时启用 HEVC/H.265 和 AVC/H.264 硬件加速,但本地设备上不提供 HEVC/H.265 编解码器,或者环境不符合 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 加速远程帧编码
NVv3 系列 支持 HEVC/H.265
AVC/H.264
NVv4 系列 支持 AVC/H.264
NVadsA10 v5 系列 支持 HEVC/H.265
AVC/H.264
NCasT4_v3 系列 支持 HEVC/H.265
AVC/H.264

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

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

重要

Azure NC、NCv2、NCv3、ND 和 NDv2 系列 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 编解码器。 这可以通过 3 种方式中的 1 种获取:

      • Microsoft HEVC 编解码器包含在 Windows 11 22H2 或更高版本的新安装中。
      • 可以从 Microsoft Store 购买 Microsoft HEVC 编解码器
      • 如果你使用的是 Windows 应用版本 2.0.503.0 或更高版本,并且尚未安装 Microsoft HEVC 编解码器,则应用将尝试安装专用版本的 HEVC 编解码器,仅与通过 Windows 应用启动的远程会话兼容。 请注意,此方法需要访问 Microsoft 应用商店。
    • 用于连接到远程会话的以下应用之一。 不支持其他平台和版本。

      • 适用于 Windows 的应用,版本 2.0.503.0 或更高。
      • Windows 版本 1.2.6081 或更高版本上的远程桌面应用。

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

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

重要

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

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

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

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

启用 GPU 加速的应用程序渲染和远程帧编码

默认情况下,Azure 虚拟桌面远程会话使用 CPU 呈现,并且不使用可用的 GPU。 可以使用 Microsoft Intune 或组策略启用 GPU 加速的应用程序渲染和远程帧编码。

重要

如果同时启用了 H.264/AVC 和 H.265/HEVC 的 GPU 加速设置,则 H.265/HEVC 优先用于兼容的远程会话。

选择方案的相关选项卡。

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

  1. 登录 Microsoft Intune 管理中心

  2. 使用“设置目录”配置文件类型为 Windows 10 及更高版本的设备创建或编辑配置文件

  3. 在设置选取器中,浏览到“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“远程会话环境”。

    显示 Microsoft Intune 门户中重定向选项的屏幕截图。

  4. 选择以下设置:

    1. 对于 GPU 加速的应用程序呈现,请勾选“对所有远程桌面服务会话使用硬件图形适配器”框。

    2. 对于使用 H.264/AVC 的 GPU 加速远程帧编码:

      1. 选中“ 为远程桌面连接优先选择 H.264/AVC 444 图形模式”框。
      2. 选中“为远程桌面连接配置 H.264/AVC 硬件编码”对应的框

    注意

    选中“确定 H.264 图形模式 优先级”框而不选中“ 配置硬件编码 ”框可能会导致基于软件/CPU 的 H.264/AVC 全屏视频编码。

  5. 对于使用 H.265/HEVC 的 GPU 加速远程帧编码,请浏览到设置选取器中的 管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>Azure 虚拟桌面

  6. 若要使用 H.265/HEVC 启用 GPU 加速远程帧编码,请选中“ 配置远程桌面连接的 H.265/HEVC 硬件编码”框,然后关闭设置选取器。

  7. 展开“管理模板”类别,然后针对每个设置进行开关切换设置,如下所示:

    1. 对于 GPU 加速的应用程序呈现,请将“对所有远程桌面服务会话使用硬件图形适配器”设置为“启用”

    2. 对于使用 H.264/AVC 的 GPU 加速远程帧编码,请将 “为远程桌面连接配置 H.264/AVC 硬件编码 ”以 启用

    3. 对于全屏视频编码,请将“为远程桌面连接优先使用 H.264/AVC 444 图形模式”设置为“启用”

    4. 对于使用 H.265/HEVC 进行 GPU 加速的远程帧编码,请将“为远程桌面连接配置 H.265/HEVC 硬件编码”设置为“已启用”

  8. 选择下一步

  9. 可选:在“范围标记”选项卡上,选择用于筛选配置文件的范围标记。 若要详细了解范围标记,请参阅将基于角色的访问控制 (RBAC) 和范围标记用于分布式 IT

  10. 在“分配”选项卡上选择一个组(其中包含提供你要配置的远程会话的计算机),然后选择“下一步”。

  11. 在“查看 + 创建”选项卡上查看设置,然后选择“创建”。

  12. 策略应用于提供远程会话的计算机后,请重启它们,使设置生效。

验证 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. 若要使用 HEVC/H.265 验证 GPU 加速的全屏编码,可以从会话中打开 “连接信息 ”窗口。

    1. 如果会话处于全屏模式,请在会话窗口顶部的 RDP 连接栏中选择信号强度图标。 如果会话处于窗口模式,请右键单击窗口顶部,然后从上下文菜单中选择 “连接信息 ”。

    2. 选择 “查看详细信息” 以展开包含其他信息的窗口。 如果您在图形详细信息下看到已使用编解码器:HEVC,则启用了使用 HEVC/H.265 和全屏视频编码的 GPU 加速帧编码。

  6. 可以使用事件查看器通过 AVC/H.264 或 HEVC/H.265 验证 GPU 加速。 为此,请从“开始”菜单打开 事件查看器 ,或从命令行运行 eventvwr.msc

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

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

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

  8. 查找以下事件 ID:

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

    • 事件 ID 162:

      • 如果在事件文本中看到“Avc444FullScreenProfile”,则表示正在使用 AVC/H.264 和全屏视频编码的 GPU 加速帧编码
      • 如果在事件文本中看到 HevcProfile ,则使用 HEVC/H.265 和全屏视频编码的 GPU 加速帧编码。

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