한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

游戏卡顿白皮书 › L8 Socket 与协议

可靠 UDP 重传配置 Reliable-UDP tuning (KCP, ENet…)

原因 ID sk-reliable-udp · 主责 研发团队·服务器开发 · 配合 研发团队·客户端开发

在含图示和实验的完整版中打开此卡片 →

在 UDP 之上自己实现的重传规则太保守,恢复就慢;太激进,又会让线路更堵。

起因 重传间隔、次数、窗口大小的设置与线路不匹配 → 结果 恢复迟缓,或重复发送加剧拥塞 → 画面表现 吞技能、快进,拥塞时卡顿更严重

症状
吞操作/回档, 快进
因素
丢包, 延迟
谁会遇到
只有我
何时出现
偶尔随机
负责方
主责 研发团队·服务器开发 · 配合 研发团队·客户端开发
研发团队要做的事
服务器:按实测往返时间重传;按重要程度分通道。客户端:采用与服务器相同的重传、通道设置。
监控图上
偶发随机尖峰 · 可靠 UDP 重传比例、游戏内 RTT
查看位置
在服务器和客户端记录所用库为每个连接维护的统计(重传次数、估算往返时间、重传等待时间),并与同一玩家的实际线路丢包率(用 mtr 测得的值)对比
确认依据
重传比例比实际线路丢包率高出好几倍,是设置太激进;重传等待时间是实测往返时间的好几倍,是设置太保守
排除依据
重传比例与线路丢包率相近、等待时间与往返时间相符,就不是设置问题。看线路丢包本身
确认手段
需要游戏服务器/客户端的日志和指标

出处

  1. RFC 8085: UDP Usage Guidelines IETF
    重传可能加剧拥塞,因此要纳入拥塞控制;往返时间用多次测量的平均值(EWMA)估算;初始 1 秒;定时器超时时降低发送速率

相关原因

同一层:L8 Socket 与协议

其他层中同样导致“吞操作/回档”的原因

查看含图示和实验的原卡片