V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
cosmain
V2EX  ›  游戏开发

请教一个游戏开发 UDP 相关问题

  •  
  •   cosmain · 6 天前 · 1840 次点击

    有游戏开发相关经验的朋友来回答下,

    现在实时对战的游戏(比如足球、射击等),网络层面设计,应该都是 udp 包,在带宽和+cpu 资源之间的换算来看,如果想压缩这一部分流量,收益怎么样?实时对战应该是不是都是 udp 小包占大多数?

    17 条回复    2025-11-18 16:44:35 +08:00
    gesse
        1
    gesse  
       5 天前
    应该都是 udp 小包。
    KongLiu
        2
    KongLiu  
       5 天前
    考虑 MTU 的限制,小包比较好
    cosmain
        3
    cosmain  
    OP
       5 天前
    是不是压缩小包性价比不高?
    drymonfidelia
        4
    drymonfidelia  
       5 天前
    memorypack 之类的游戏用序列化工具都在尽量努力尽可能减少 CPU 占用来避免帧率抖动,你倒好还来加个压缩
    sunny352787
        5
    sunny352787  
       5 天前
    不要压缩,用小包,也别自己写,用 kcp
    LeegoYih
        6
    LeegoYih  
       5 天前
    cosmain
        7
    cosmain  
    OP
       5 天前
    @drymonfidelia 主要是为了压缩节省流量,跨国快速流量非常昂贵,相对增加一点延迟可以接受。但是不知道压缩游戏的小包,对流量的压缩比例多大。
    JoeJoeJoe
        8
    JoeJoeJoe  
    PRO
       5 天前
    用 protobuf 再压缩也压缩不了多少吧.

    用小包, 可以合并关键帧或者用减小采样率这样的方式来处理, 中间缺的地方用插值补上.
    pluswu1986
        9
    pluswu1986  
       5 天前   ❤️ 1
    @cosmain 你们没有监控指标么。。压缩试一下不久知道了么 从传输性能上来说小于 MTU 的包压缩没啥意义,足球和射击可能还不一样 足球可能是帧同步的,射击下行基于状态同步居多相对会比足球多多了
    cosmain
        10
    cosmain  
    OP
       5 天前
    @pluswu1986
    用 tcpdump 抓取,基本都是 udp 100 字节以内的小包
    cosmain
        11
    cosmain  
    OP
       5 天前
    @sunny352787
    kcp 转发,网络的情况下,因为 fec ,反而会增加流量吧? kcp 不支持压缩吧?
    lysShub
        12
    lysShub  
       5 天前
    压缩它干嘛,也要不到多大的带宽吧,一般低于 50KB/s
    sunny352787
        13
    sunny352787  
       5 天前
    @cosmain #11 kcp 是暴力发包,流量肯定会高,你们对流量要求那么高吗?实时对战要是被流量卡了体验就会下降很多,得不偿失啊
    litchinn
        14
    litchinn  
       5 天前
    消息越小压缩收益肯定越低啊,应该从业务端优化,减少消息大小,设计合理的消息结构,使用高性能编解码方案
    还有可以使用 kernel bypass ,不过这个是针对 cpu 来提高吞吐量的优化
    cosmain
        15
    cosmain  
    OP
       5 天前
    @lysShub
    很多很多客户端,没有办法。
    pluswu1986
        16
    pluswu1986  
       5 天前
    @cosmain 这个量级亚以下估计也也剩余 70-80 压缩比太低了 不能接受合帧降频 建议别折腾了 按照 15-20 帧每秒 这个量级的游戏流量都觉得贵。。我觉得你们游戏也别做了。。。
    pluswu1986
        17
    pluswu1986  
       5 天前
    @cosmain 类似延迟敏感的游戏 应该就近边缘节点接入 再怎么搞专线 anycast 体验都不会太好
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2620 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:37 · PVG 17:37 · LAX 01:37 · JFK 04:37
    ♥ Do have faith in what you're doing.