V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
YoungAsen
V2EX  ›  问与答

直播时游戏延迟高怎么破?

  •  
  •   YoungAsen · 278 天前 · 396 次点击
    这是一个创建于 278 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人目前用的 4G CPE ,环境 Windows11 ,实测带宽 150+Mbps 下行,30Mbps 上行,开直播 1080P 60 帧 8000Kbps 码率延迟就会高个十毫秒,并且偶尔会包的延迟一百多。有没有什么解决办法,因为以前用光纤宽带的时候没有碰到过这样的问题。

    平时不开直播延迟比较稳定,比光纤宽带高不到十毫秒左右,还是挺满意的,稳定性也都还不错,整局英雄联盟下来也没有过明显的卡顿和延迟。

    AoEiuV020JP
        1
    AoEiuV020JP  
       278 天前
    编码器,cpu 编码可能就会和游戏抢 cpu ,升级 cpu 或者换用显卡编码,甚至加个显卡专门直播编码用就能减少影响了,
    另外捕获游戏画面尽量不要使用整个显示器采集,也会影响性能,
    datocp
        2
    datocp  
       278 天前
    测试延迟是有公式的,但不知道哪条才是正确的。

    很多时候能搞定有线的延迟,却搞不定无线的延迟。而且 4G 这玩意,我见过的最高速度也就 88+mbps 还是在市区一所学校,乡下 40mbps 不得了了。

    从 qos 的概念出发,解决这种问题,一般是将流量分为高优先级的游戏+低优先级的直播,2 个流量分组。实际我自己的网络是这样分配的
    $((UPLINK*1/10))kbps ceil $((UPLINK))kbps prio 0
    $((UPLINK*1/10))kbps ceil $((UPLINK))kbps prio 2
    $((UPLINK*3/10))kbps ceil $((UPLINK*90/100))kbps prio 3
    $((UPLINK*3/10))kbps ceil $((UPLINK*85/100))kbps prio 4

    家里的电信有 20mbps 的上行。在上行方向,游戏拥有绝对的优先级 prio 0 ,它还拥有保障带宽上行的 1/10-10/10.这样游戏这种不超过 10kb/s 的流量,通常光纤观察的延迟是 19ms 以下。
    而直播这种,通常我会认为它是 P2P 把它放置在最低优先级的 prio 4,在这组延迟接近 600ms,显然把直播分在这组不是很好。
    从 qos 的概念,就是采取流量分组,每个流量分组为当前通过带宽/总体带宽的一个比例,就基本能模糊的感知无需依靠公式去计算准确的延迟。所以网络一直传言有叫上行的 80%的说法。实际上还得在每个流量分组控制上行的 80%,显然这 4 组里面只有前面 2 组有这种可能。

    为什么有线搞得定,到了无线又搞不定了?
    以前的 wifi5 是会随着终端连接质量导致当前通过带宽和总体带宽在不断的波动,像一些 2.4G 有一些信号差的终端,可能会导致这个 AP 呑吐从 10MB/s 掉落到 500KB/s.这样在有线下稳定的带宽测试值,在无线下变得不断的波动变化,延迟难以控制。

    对于在家玩游戏的爱好者
    1.有条件上 qos 路由
    2.没条件自己独享一个 SSID
    3.其它的上行总带宽尽量控制在 60~80%的比例
    4.有 qos 加持的网络,按照 tcp 帮手过程,更早出去的包带来更快的下行流量,即便 3/4 分组延迟高达 600ms 。游戏依然可以控制在 19ms.
    YoungAsen
        3
    YoungAsen  
    OP
       277 天前
    @datocp 我有一台 openwrt 的软路由,里面有 sqm qos ,但是我不太会用,你可以帮我吗?有偿。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5687 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:44 · PVG 10:44 · LAX 19:44 · JFK 22:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.