优化远程桌面连接(RDP)效果
仅技术分享,不涉及任何公开游戏提供服务,而且实际上最后也只是试了下,没成功,无法解决一些问题
最开始是想自己利用RDP搭建一个云游戏. 结果发现RDP先天性存在一个缺陷: RDP传输的是鼠标位置的绝对值, 而非移动速率, 所以在全屏时, 无法使用鼠标转动视角. 所以没法打游戏, 但是平时使用效果很棒.
注意: 开启压缩编码传输需要有一个显卡, 否则性能会变低.
参考文献
Windows服务器配置QoS优先保障远程体验 – 腾讯云开发者社区-腾讯云 (tencent.com)
Windows修改远程桌面(RDP)的端口号_rdp端口号_-Zifeng-的博客-CSDN博客
RDP 优化操作 微软远程桌面 开启显卡加速、60FPS、USB设备重定向_远程桌面60帧_csdn_life18的博客-CSDN博客
步骤
Windows修改远程桌面(RDP)的端口号
通过远程桌面客户端连接到计算机(Windows 客户端或 Windows Server)时,计算机上的远程桌面功能会通过定义的侦听端口(默认情况下为 3389)“侦听”连接请求。 可以通过修改注册表来更改 Windows 计算机上的侦听端口。
- 启动注册表编辑器。 (在“搜索”框中键入 regedit。)
- 导航到以下注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- 查找端口号
- 单击“编辑”>“修改”,然后单击“十进制”。
- 键入新端口号,然后单击“确定” 。
- 关闭注册表编辑器,然后重新启动计算机。
下次使用远程桌面连接连接到此计算机时,必须键入新端口。 如果正在使用防火墙,请确保将防火墙配置为允许连接到新端口号。
可运行以下 PowerShell 命令来查看当前端口:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
还可运行以下 PowerShell 命令来更改 RDP 端口。 在此命令中,我们会将新的 RDP 端口指定为 3390。
若要向注册表添加新的 RDP 端口:
$portvalue = 3390
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue
显卡加速
首先打开远程主机上的组策略(Win+R打开运行,输入gpedit.msc)
依次找到计算机配置->管理模板->Windows组件->远程桌面服务->远程桌面会话主机->远程会话环境
在右边选择将硬件图形适配器应用于所有远程桌面服务会话
右键编辑,选择已启用,确定保存。
重启远程主机。
现在可以在远程桌面里运行需要GPU支持的应用了,包括OpenGL、DX、Vulcan……
提升传输帧率
实际效果取决于客户端设置、网络环境等等因素
打开远程主机上的注册表编辑器:
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
在空白处右键->新建->DWORD(32位)值,命名为DWMFRAMEINTERVAL。
双击刚添加的这一项,基数选择为十进制,数值数据填写15.
确定保存,重启生效。
QoS配置
主要是防止不小心开始下载什么或者上传什么, 把服务器带宽跑满了, 然后RDP没带宽了.
所以需要把RDP设置为最高优先级网络传输.
QoS的配置如下:
运行gpedit.msc → 计算机配置 → Windows设置 → 基于策略的QoS → 新建策略
配置要点:
1.DSCP:63
2.无需指定出站调节率, 除非你想限速
3.策略应用于什么程序:svchost.exe (因为远程服务termservice属于svchost.exe)
4.协议选TCP和UDP
5.源端口(本地端口)设置为你的RDP端口, 目的端口设置为任意.
其他默认
配完后执行下gpupdate /force,最好是重启下机器再验证效果
开始体验高性能高质量RDP.
