微软RDP远程桌面优化

发布时间 2023-11-26 18:32:26作者: MAENE

微软RDP远程桌面优化

介绍

以下来自了解远程桌面协议 (RDP)

RDP 基于 T-120 系列协议标准,并且是后者的扩展。 支持多通道的协议允许单独的虚拟通道来传送以下信息:

  • 演示数据
  • 串行设备通信
  • 许可信息
  • 高度加密的数据,如键盘、鼠标活动

RDP 是 T.Share 核心协议的扩展。 若干其他功能作为 RDP 的一部分保留,例如多点支持(多方会话)所需的体系结构功能。 多点数据传递允许应用程序中的数据实时传递到多方,例如虚拟白板。 不需要单独向每个会话发送相同的数据。

在 Windows 终端服务器的第一个版本中,我们专注于提供可靠且快速的点对点(单会话)通信。 终端服务器 4.0 的初始版本中仅使用一个数据信道。 但是,RDP 的灵活性为将来的产品提供了足够的功能空间。

Microsoft 决定在 Windows NT 终端服务器内实施 RDP 进行连接的一个原因是,它提供了一个可扩展的基础来构建更多功能。 RDP 提供 64,000 个单独的数据传输信道。 然而,当前的传输活动仅使用单个信道(用于键盘、鼠标和演示数据)。

RDP 旨在支持许多不同类型的网络拓扑,例如 ISDN、POTS。 RDP 还旨在支持多种 LAN 协议,例如 IPX、NetBIOS、TCP/IP。 当前版本的 RDP 将仅采用 TCP/IP。 根据客户反馈,将来的版本中可能会添加其他协议支持。

通过 RDP 栈发送和接收数据所涉及的活动基本上与目前一般 LAN 网络的七层 OSI 模型标准相同。 要传输的应用程序或服务中的数据将通过协议栈向下传递。 它经过分割、信道定向(通过 MCS)、加密、打包、制帧并封装到网络协议中,最后进行寻址并通过网络发送到客户端。 数据返回时原理相同,但步骤相反。 数据包会被剥离地址,然后解包、解密等。 最后,数据将提供给应用程序以供使用。 协议栈修改主要位于第四层和第七层之间,在此数据经过以下处理:

  • 加密
  • 打包
  • 制帧
  • 信道定向
  • 优先排序

对于应用程序开发人员,其中一个好处是 Microsoft 降低了 RDP 使用过程中处理协议栈的复杂性。 这使他们能够编写出简练、设计合理、行为良好的 32 位应用程序。 然后,终端服务器及其客户端连接实施的 RDP 栈负责处理其余操作。

有关应用程序如何在终端服务器上交互的详细信息,以及针对 Windows 终端服务器基础结构开发应用程序时要了解的内容,请参阅以下白皮书:
针对终端服务器版 Windows NT Server 4.0 优化应用程序

RDP 栈实例中值得讨论的四个组件包括:

  • 多点通信服务 (MCSMUX)
  • 通用会议控制 (GCC)
  • Wdtshare.sys
  • Tdtcp.sys

MCSmux 和 GCC 是国际电信联盟 (ITU) T.120 系列的一部分。 MCS 由两个标准组成:

  • T.122:定义多点服务
  • T.125:指定数据传输协议

MCSMux 控制:

  • 通过将数据多路复用到协议中的预定义虚信道进行信道分配
  • 优先级
  • 分割正在发送的数据

这实质上从 GCC 的角度将多个 RDP 栈抽象为单个实体。 GCC 负责管理这些多信道。 GCC 可以创建和删除会话连接并控制 MCS 提供的资源。 每个终端服务器协议(目前仅支持 RDP 和 Citrix 的 ICA)都会加载协议栈实例(等待连接请求的侦听栈) 终端服务器设备驱动程序协调和管理 RDP 协议活动。 它由较小的组件组成:

  • 用于 UI 传输、压缩、加密、组帧等的 RDP 驱动程序 (Wdtshare.sys)。
  • 将协议封装到基础网络协议 TCP/IP 中的传输驱动程序 (Tdtcp.sys)。

RDP 完全独立于其基础传输堆栈,在本例中为 TCP/IP。 这意味着,随着客户对其他网络协议的需求增长,我们可以为这些网络协议添加其他传输驱动程序,对协议的基础部分几乎没有重大更改。 它们是网络上 RDP 性能和可扩展性的要素。


优化

开启硬件加速

  1. 打开 被控主机 上的 组策略win + R 打开运行,输入 gpedit.msc
  2. 打开 计算机配置 -> 管理模板 -> Windows组件 -> 远程桌面服务 -> 远程桌面会话主机 -> 远程会话环境
  3. 点击 将硬件图形适配器应用于所有远程桌面服务会话,点击 已启用
  4. 点击 为远程桌面连接设置 H.264/AVC 444 图形模式的优先级,点击 已启用(不是必要)
  5. 点击 配置远程桌面连接的 H.264/AVC 硬件编码,点击 已启用
  6. 点击 为 RemoteApp 使用高级 RemoteFX 图形,点击 已启用
  7. 重启电脑(可以修改完下面的再重启)

修改默认帧率

  1. 打开 被控主机 上的 注册表编辑器win + R 打开运行,输入 regedit
  2. 找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations (直接复制粘贴)
  3. 空白处右键 -> 新建 -> DWORD(32位)值,命名为 DWMFRAMEINTERVAL
  4. 双击刚添加的这一项,基数 选择为 十进制数值数据 填写 15

    15 对应 60
    30 对应 30
    8 对应 120
    不要问我为什么和微软官网不同 UFO Motion Tests 实测

  5. 重启电脑

英伟达硬件加速插件

官网下载 是需要开发者账号的
本站下载
下载安装即可