FRP+RDP, 30ms 下窗口拖动卡顿是必然的吗?

2020-03-05 17:58:16 +08:00
 xingyue

环境:
杭州阿里云 t6 实例按量付费,带宽 23Mbps (峰值)
本地湖北移动 ping=>t6 26ms,稳定
公司杭州电信 ping=>t6 4ms,稳定
frp 基本默认配置,开启了 tls tls_enable = true

表现:
显示非常清晰,但是快速拖动窗口和切换窗口时,常常会感到明显的延迟和掉帧的感觉。
疑惑:
用了一下午 rdp 跑的流量居然只有一百多兆,带宽几乎没用过,rdp 体验设置项默认自动选择连接质量,后来也试过(wan/lan >10M),延迟感并没有消失。我打 LOL 40-60ms 走位都可以回流身法为啥到了 RDP 这里不行了呢?

ps:frp 的这个流量统计每次我断开了 rdp 才会统计,似乎非实时; frp 的几乎不用 cpu。。。(赞)

5118 次点击
所在节点    远程工作
16 条回复
kokutou
2020-03-05 18:19:34 +08:00
30ms 。。。

你可以试试把笔记本接在电视机上。
试试增加 30ms-60ms 的延迟是什么感觉。
kokutou
2020-03-05 18:20:10 +08:00
云桌面做不起来,很大原因就是这个延迟。。。
xingyue
2020-03-05 20:00:13 +08:00
@kokutou #1 那为啥打游戏的时候 60ms 以下都感觉不出来,求关键词。。。
kokutou
2020-03-05 20:11:18 +08:00
@xingyue #3
输入延迟
找电视的输入延迟对比看看。
windyland
2020-03-05 20:13:47 +08:00
我 1Mbps 都不会非常明显的感到卡顿
Buges
2020-03-05 20:19:22 +08:00
@xingyue 因为你打游戏的时候画面是本地渲染的,而那个延迟是与服务器交换数据的网络延迟。
比如你点一下人物移动,本地客户端立刻渲染往那里移动的动画同时向服务器发送你点位置的坐标,服务器接收并计算后再向其他玩家同步,几十 ms 后其他玩家的客户端接受到数据开始渲染你移动的动画。大概是这么个流程,还有一些预测之类的技术,并且所有人都有延迟,所以除非太高不然你基本无感。
远程桌面则是服务端渲染画面,即使微软的 rdp 黑科技把部分工作移到客户端也会有一定的延迟,VNC 这种纯粹传输画面且要编解码的协议更加明显。
cst4you
2020-03-05 20:23:10 +08:00
试试 zerotier 打满带宽看看, 然后走内网 IP 用 anydesk
Ultraman
2020-03-05 20:24:23 +08:00
#6 那个例子,你去找个人跟你玩多人的跳一跳看一下双方的屏幕就一目了然了
kokutou
2020-03-05 20:40:03 +08:00
你对游戏程序的输入延迟是很低的,可能就几毫秒,鼠标点击,窗口移动,键盘输入都是几毫秒这样。游戏都是立刻反应的。
然后游戏里的网络延迟是 60ms,这个可以优化的,其中一种方法就是本地先立即移动,输入发送到服务器,服务器同步后发送回客户端,再立即修正显示的位置。
就是那种延迟 1000 多 ms 或者网络不稳定丢包的时候,你人动了然后又回到了原地,这种情况遇到过吧。。。

你看到网络 30ms,不等于你的操作输入了,然后远程桌面显示这个之间的延迟也是 30ms。。。实际上程序捕捉输入,编码,传到远端输出输入的数据,然后等程序反应,远程桌面在截取到了反应数据,传送回来,解码,再显示等等,这除了传输的 30ms,还有别的开销。。。
dremy
2020-03-05 21:50:07 +08:00
云游戏了解一下,这就是不被看好的原因
xcstream
2020-03-05 23:38:04 +08:00
游戏是本地先动的再同步
LU35
2020-03-05 23:48:42 +08:00
@xingyue
你说的卡顿好像是由画面算法导致的.
同样尝试过用阿里云 frp 中转 rdp,也试过使用 zerotier 直接打洞本市跨带宽直连.拖动窗口都有明显的卡顿感觉.
但是使用 teamviewer 却非常流畅.而 teamviewer 国内也是用的阿里云中转.
所以最大的可能还是显示算法的问题.
henvm
2020-03-06 00:11:46 +08:00
@LU35 对是这个感觉,我试过局域网 rdp 连另外台电脑上的 steam 游戏就不正常。teamviewer 连就正常。注意哦是本地局域网测试。
LU35
2020-03-06 00:16:06 +08:00
@henvm 尝试过各种办法,最后还是用回 teamviewer 了.
如果你发现更好的解决方案,麻烦留言 @下.
hanxiV2EX
2020-03-06 09:07:51 +08:00
windows 上 vnc 服务端就行了,把 vnc 的端口映射出去。有个免费的 windows 版,用过一阵时间,忘记名字了。
hanxiV2EX
2020-03-06 09:08:23 +08:00
@LU35 用 vnc 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/650159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX