V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
devliu1
V2EX  ›  程序员

跪求讨论局域网远程桌面方案

  •  1
     
  •   devliu1 · 2021-03-04 11:09:11 +08:00 · 11819 次点击
    这是一个创建于 1120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    (迫于)想在家里不切换设备远程控制其他机器 coding,用 VNC 和 RDP 感觉速度都不是很理想,还是有一丝丝卡顿(办公正常,但是 coding 还是不是很丝滑),想看看大家都网络设备与延迟情况,跪求大家提出优化方案。

    控制端:普通 TPLink 千兆(可能是瓶颈) + mbp WiFi 连接 (带宽可以达到 150M,可能有其他原因,换过有线千兆但同样不是很丝滑)

    被控端:有线千兆

    53 条回复    2021-05-13 10:58:37 +08:00
    olaloong
        1
    olaloong  
       2021-03-04 11:17:07 +08:00   ❤️ 1
    局域网直接串流好了,有 N 卡就用 moonlight,没 N 卡就用 steam 串流,丝般顺滑
    gBurnX
        2
    gBurnX  
       2021-03-04 11:24:00 +08:00   ❤️ 5
    1.局域网内部,请用至少全千兆方案。也就是任何两个点,之间的链接,无论是网卡、交换机、路由器、网线,都必须至少支持千兆。

    2.设备请买一线品牌,路由器请不要低于 500 元,交换机请不要低于 70 元,网线请至少用 6 类屏蔽线。

    3.这些东西弄好后,建议用非加密型局域网文件点对点传输软件,推荐 ftp 或 Dukto,进行测试。不建议用 https 这种加密方案,瓶颈容易出现在加密解密过程。

    4.请使用物理线路,比如网线,不要用无线,比如 WIFI 。

    5.做到这里,mstsc 远程就够用了。不过,收发文件还是建议 ftp 或 Dukto,因为 mstsc 的收发文件写的太烂导致速度差。

    6.你把以上条目,一条一条落实,还卡我吃屎。
    devliu1
        3
    devliu1  
    OP
       2021-03-04 11:24:56 +08:00
    @olaloong 感谢🙏,我研究一下,有台 windows 有 n 卡,还有一台 mac 没有,steam 似乎还需要登陆同一账号吧
    gBurnX
        4
    gBurnX  
       2021-03-04 11:27:49 +08:00
    @olaloong 串流需要进行视频处理,编码解码的整个过程会严重加大延迟,望知悉。
    RiverMud
        5
    RiverMud  
       2021-03-04 11:28:17 +08:00
    @devliu1 屏蔽线没必要
    devliu1
        6
    devliu1  
    OP
       2021-03-04 11:29:26 +08:00
    @gBurnX 很全面,正想一条条落实,但是没办法拿到客观的指标有点头疼。

    我所说的卡比较主观,正常使用没问题,但是一到了要远程写代码的时候就有点影响心情了。
    Flymachine
        7
    Flymachine  
       2021-03-04 11:30:07 +08:00
    VSCode + Remote 插件 + OpenSSH server 不行么?
    olaloong
        8
    olaloong  
       2021-03-04 11:35:07 +08:00
    @gBurnX 编解码都有 GPU 加速,效率很高,开销也就十几二十毫秒,只是对网络延时和带宽要求较高。串流是本为了玩游戏的,延迟高还怎么玩。
    goodryb
        9
    goodryb  
       2021-03-04 11:35:13 +08:00
    1.局域网连接尽量使用有线链接,WiFi 质量很不稳定,可以从控制端 ping 被控端地址,延迟在 1ms 以内正常,否则请排查链路问题。百兆千兆一般影响不大,网线除非是 ping 延迟不稳定或者丢包才需要处理,重做水晶头或者更换网线,超 5 类家用足够。
    2.远程链接 RDP 或者串流方式 分别测试一下,原理不一样,看看实际效果。

    我一般在外面远程 rdp 连接家里的 win 主机,13ms 延迟的情况下,浏览网页问题不大,视频就不行。 在家局域网 rdp 几乎感觉不到卡顿。 不过播放视频是不行的,rdp 本身设计的问题。
    devliu1
        10
    devliu1  
    OP
       2021-03-04 11:37:58 +08:00
    @Flymachine 可以的,但有的时候还是直接操作桌面方便一些,另外感觉 vscode 还是不如 jetbrains 家的好用
    vibbow
        11
    vibbow  
       2021-03-04 11:38:43 +08:00
    如果 RDP 都卡顿的话,那应该没有更好的方案了 😂
    devliu1
        12
    devliu1  
    OP
       2021-03-04 11:39:43 +08:00
    @goodryb wifi 连接的 ping 延时稳定在 1ms,有线也是 1ms,我感觉这里问题不是特别大,但是 rdp 还是没达到“丝般顺滑”,目测没有 60fps
    devliu1
        13
    devliu1  
    OP
       2021-03-04 11:40:53 +08:00
    @vibbow 很纠结所以才来发帖了.........这个问题比较主观,也没有办法给出指标优化。。。
    tangtang369
        14
    tangtang369  
       2021-03-04 11:41:49 +08:00
    你可以试试 Nomachine 这个软件 我一直用这个
    minami
        15
    minami  
       2021-03-04 11:44:30 +08:00
    串流的话延迟是低,但是串流用的是视频编码,一般是 YUV420 或 YUV422,文字会变色变模糊,你接受不了的话还是得回到 RDP 。你可以在注册表里把 RDP 帧率调一调,主要是调到 60FPS,默认是锁 30 的
    goodryb
        16
    goodryb  
       2021-03-04 11:46:01 +08:00
    @devliu1 #12 想啥呢,rdp 默认就 30fps 吧, https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/remote/frame-rate-limited-to-30-fps

    那你这种要求还是看看串流方案吧,https://sspai.com/post/62402

    另外你那个 150M 的 WiFi 连接速率真是拉跨,建议先换成支持 5Ghz 的路由器再说
    olaloong
        17
    olaloong  
       2021-03-04 11:49:55 +08:00
    也可以试试 teamviewer,局域网里可以直接用 ip 连接,有时候表现比 RDP 好,可以试试
    matepi
        18
    matepi  
       2021-03-04 11:55:36 +08:00
    我在家有线千兆,只是写代码,vnc 丝般顺滑啊
    ho121
        19
    ho121  
       2021-03-04 11:58:15 +08:00 via Android
    如果是远程 windows,那么 rdp 的帧率似乎会锁定在 30hz,可以参考这个解除锁定 https://docs.microsoft.com/en-us/troubleshoot/windows-server/remote/frame-rate-limited-to-30-fps
    xylophone21
        20
    xylophone21  
       2021-03-04 11:59:15 +08:00
    @devliu1 被控机显示一个秒表应用,显示器放在主控机显示器旁边,拍照看两个秒表的时差
    hs0000t
        21
    hs0000t  
       2021-03-04 12:16:40 +08:00 via Android
    moonlight,别说 coding 了,打 fps 都可以
    chenjies
        22
    chenjies  
       2021-03-04 12:25:23 +08:00
    无法使用 moonlight,可以试试 parsec,我用这个运行 3D Mark 测试,编码解码大致是十几毫秒。不过最好测试,这个可能会蓝屏。
    daokedao
        23
    daokedao  
       2021-03-04 12:26:04 +08:00
    提供一个另类的方案,用凌波教学网软件,可以操作多台电脑桌面。我是看到上面 @goodryb 说 rdp 软件在播放视频时不行,这个教学网软件在远程桌面播放视频都不卡顿,你可以比较一下。
    yanzhiling2001
        24
    yanzhiling2001  
       2021-03-04 12:35:18 +08:00
    咋说,我局域网无线都很流畅,不知道你说的略微卡顿怎么表现的
    cst4you
        25
    cst4you  
       2021-03-04 12:57:07 +08:00
    anydesk 局域网也很快
    kop1989
        26
    kop1989  
       2021-03-04 12:58:39 +08:00
    建议通过串流解决,一劳永逸。
    我的串流帖: https://www.v2ex.com/t/755819
    knives
        27
    knives  
       2021-03-04 13:31:47 +08:00   ❤️ 1
    RDP 比其它方案有一个分辨率自适应的优势,在被控端为 1080p,主控端为 4K+200% 缩放的情况下,能将被控端的显示分辨率也提升到 4K+200% 上。但这个功能在我的 Win10 PC 上概率会导致黑屏,原因不明……其它 Windows Server 上没遇到过问题。

    其它的,尝试过 TeamViewer 、NoMachine 、parsec 等。传统的远程桌面类别的,除开 RDP 还是 TeamViewer 功能最为完善。

    TeamViewer 的缺陷在显示效果和账号系统不稳定这两方面。TeamViewer 也有一定的显示缩放优化,但应该仅仅是被控端的缩放,无法与 RDP 的效果相比;另外账号登录之类的功能在局域网下完全鸡肋,我索性直接关闭了事。

    parsec 显示效果比 TeamViewer 要好一些,但是在我这边登录被墙用起来比较麻烦。另外也许是因为用了 Proxifier 进行代理的关系,所有的控制输入似乎也经过了服务器中转,导致输入延迟非常高。解决了登录墙的问题或许也就没这个延迟问题了,这方面我没有后续测试。
    shilyx
        28
    shilyx  
       2021-03-04 13:31:56 +08:00   ❤️ 1
    看起来你需要一个长 hdmi 线
    miao666
        29
    miao666  
       2021-03-04 14:13:41 +08:00
    不会吧,局域网 RDP 会卡吗?
    Crusader
        30
    Crusader  
       2021-03-04 14:15:48 +08:00
    to desk
    fuis
        31
    fuis  
       2021-03-04 14:16:17 +08:00
    俺建议你整长的 HDMI 线,还有 KVM 切换器
    Flymachine
        32
    Flymachine  
       2021-03-04 14:49:40 +08:00
    @devliu1 那只能上串流+wifi6 设备了。现有的 VR 串流+wifi6 都可以把带宽提升到 7.5m/s,延迟压到 30-50ms,你这种普通显示屏效果只会更好。

    不过如果我来选,我还是更青睐 VSCode 方案,可能是因为我平常 Linux 用的多吧。
    SenLief
        33
    SenLief  
       2021-03-04 14:56:28 +08:00
    想啥呢?直接整条 hdmi 线就好了。
    jim9606
        34
    jim9606  
       2021-03-04 14:58:00 +08:00
    基于远程访问的方法肯定比不上直接中继 HDMI/USB 信号的。
    WiFi 如果链路速度只有 150Mbps 那肯定是不行的,至少也要搞到 433Mbps (也就是 wifi5 ),ping 被控端应该要在 1ms 以内。
    去组策略-管理模板-Windows 组件-远程桌面服务-远程桌面会话主机-远程会话环境:
    1. 启用“将硬件图形适配器适用于所有远程桌面服务会话”,注意主机至少要连个假显示器,不然首次连接可能会黑屏
    2. “配置远程桌面连接的 H.264/AVC 硬件编码”可选启用,个人感觉会增大延迟
    3. “配置 RemoteFX 自适应图形的图像质量”调到高 /无损,不过可能没用
    devliu1
        35
    devliu1  
    OP
       2021-03-04 15:31:19 +08:00
    感谢各位,再次说明一下我说的卡不是不能用的卡,而是视觉上不痛快的那种卡。

    除了串流比较复杂没有来测试,其他的远程控制方案基本都测试过了,包括 Nomachine teamviewer anydesk todesk 综合来说 rdp 效果还是最快了,体验也好,只是播放视频不太行。

    根据 @xylophone21 提到的测时差的方法,我使用 VNC 测试延时有 200ms (卡),同时还测试了本地开虚拟机(排除 LAN 的因素),也是将近 200ms,rdp 由于只能登陆一处无法测试,不知道有没有其他办法可以给出性能指标。

    我这边换了全有线,iperf 测试带宽可以达到 800M,还是有同样的感觉(不知道是不是强迫症要求太高了😂),

    按照 @goodryb (修改 rdp 默认 fps 限制) 和 @jim9606 (将硬件图形适配器适用于所有远程桌面服务会话)的方法,明显感觉快一些,但(还是强迫症😂

    感觉 hdmi 线+显示器+kvm 还是一条比较好的解....只是我习惯不用显示器😂
    xeathen
        36
    xeathen  
       2021-03-04 15:35:42 +08:00
    @gBurnX #2 家用环境想达到屏蔽条件?直接非屏蔽线就好了
    pkookp8
        37
    pkookp8  
       2021-03-04 15:48:12 +08:00 via Android
    家里网络有烦恼?人工纸张来帮您!
    您想搜索的是不是: 换一套小一点的房子
    Leprax
        38
    Leprax  
       2021-03-04 15:55:39 +08:00
    @fuis 低价 KVM 设备严重损坏画质
    ytmsdy
        39
    ytmsdy  
       2021-03-04 16:06:14 +08:00
    主控端和被控端都用有线网络,不要用无线!不要用无线!不要用无线!
    之前从外面远程到家里电脑,家里电脑是笔记本,然后用的无线网络。也出现时不时卡顿,不流畅的问题。
    后来直接换成有线网络就解决了!
    后来查了一下,其实无线连接会出现时不时丢包的情况。
    CallMeReznov
        40
    CallMeReznov  
       2021-03-04 16:14:00 +08:00
    视频采集卡+无线键鼠

    对延迟敏感的话这是最优的解决方案了。
    devliu1
        41
    devliu1  
    OP
       2021-03-04 16:44:33 +08:00
    @pkookp8 头像应景,可以考虑

    @all 应该是无线时好时坏了...... 刚刚测试 parsec 还是比较流畅的(比 rdp 还流畅一点点,
    @CallMeReznov 买过采集卡,但是画质不堪入目,且太占控制机的 cpu,可能是买的比较廉价的设备
    devliu1
        42
    devliu1  
    OP
       2021-03-04 16:45:15 +08:00
    可惜 parsec 要登陆账号 ,这个是一个减分项
    BitBoX
        43
    BitBoX  
       2021-03-04 16:56:01 +08:00
    搭个 vscode 服务器啊。。
    libook
        44
    libook  
       2021-03-04 17:03:31 +08:00
    我之前攒了 Nas,传输速度一直有问题,Steam Link 也基本不可用,后来是把运营商的渣路由器换成了华硕的 RT-AC66U (有钱建议用更好的),基本解决了我绝大多数局域网速度问题。

    WiFi 也不是不能用,但速率要能跟有线差不多,比如 1000M 以上。
    thtznet
        45
    thtznet  
       2021-03-04 17:14:03 +08:00
    写代码用 RDP 还卡?用什么 IDE ?是要做代码极限微操么?一秒钟输入几十个字符?
    devliu1
        46
    devliu1  
    OP
       2021-03-04 17:26:33 +08:00
    @libook 目前的 wifi+parsec 速度很赞,可惜要登陆😂,算是一个优解了

    @BitBoX @thtznet 主要用的是 idea 与 webstorm,vscode 还是用的不算特别顺手,搭建了 code-server 但是不经常用
    sigl0p
        47
    sigl0p  
       2021-03-04 17:36:08 +08:00
    局域网 5G wifi 到全千兆路由,RDP 写代码不卡:3 * 1080p 屏。拖个照片窗口快速晃来晃去会卡。
    thtznet
        48
    thtznet  
       2021-03-04 19:00:52 +08:00
    @devliu1 当下的业内最优解应该是 Citrix 的 HDX 协议,有配套的软件产品。
    wszgrcy
        49
    wszgrcy  
       2021-03-05 09:33:54 +08:00
    同问远程串流,正常办公还行,切换应用以及高频率的应用时,就会出现闪现的情况...虽然不太影响,但是观感不好
    allanpk716
        50
    allanpk716  
       2021-03-05 11:10:08 +08:00 via iPhone
    @devliu1 你使用的显示器是不是 4K 的?上面说得物理条件全部达到,只要是用 4K 屏幕 mstsc 远程过去服务器,就是明显的延迟。1080 屏幕就木有问题。应该是 mstsc 的问题。doge
    devliu1
        51
    devliu1  
    OP
       2021-03-05 13:28:28 +08:00
    @thtznet 似乎没有看到产品如何下载使用

    @allanpk716 我 1080 和 4k 都测试过,体验其实还行,只不过算不上丝滑,测试真正丝滑的只有推流的方案了
    devliu1
        52
    devliu1  
    OP
       2021-03-05 13:29:02 +08:00
    @devliu1 测试真正丝滑的只有串流方案了
    ileeoyo
        53
    ileeoyo  
       2021-05-13 10:58:37 +08:00
    @devliu1 我局域网试用了 parsec,延时 2ms,流畅度也还好。但是为什么有时打开其他软件的一个窗口,就会很模糊,然后才慢慢清晰,体验很不好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4593 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:05 · PVG 18:05 · LAX 03:05 · JFK 06:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.