你当前正在访问 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 相比,这允许在相同的视频质量或相同比特率下提高质量的数据压缩性能比 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 App 2.0.503.0 或更高版本,并且尚未安装Microsoft HEVC 编解码器,则应用将尝试安装仅与通过 Windows App 启动的远程会话兼容的专用 HEVC 编解码器版本。 请注意,此方法需要访问 Microsoft Store。
    • 用于连接到远程会话的以下应用之一。 不支持其他平台和版本。

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

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

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

重要

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

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

启用 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 加速远程帧编码,请选中“为远程桌面Connections配置 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 硬件编码”Connections设置为“已启用”。

  8. 选择 下一步

  9. 可选:在“ 作用域标记 ”选项卡上,选择范围标记以筛选配置文件。 有关范围标记的详细信息,请参阅对分布式 IT 使用基于角色的访问控制 (RBAC) 和范围标记

  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>”。

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

  8. 查找以下事件 ID:

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

    • 事件 ID 162

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

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