V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wmwmajie
V2EX  ›  Go 编程语言

go 有 能支持 tcp 和 udp 的游戏框架吗?

  •  
  •   wmwmajie · 2020-11-06 18:13:41 +08:00 · 3140 次点击
    这是一个创建于 1467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前选型一个类似网站荣耀这样的游戏服务端框架,想用 go,不知道有没有合适的大家推荐推荐。

    10 条回复    2020-11-30 12:42:07 +08:00
    chinagxwei
        1
    chinagxwei  
       2020-11-06 19:24:47 +08:00
    b00tyhunt3r
        2
    b00tyhunt3r  
       2020-11-16 12:56:46 +08:00 via iPhone
    go 肯定性能不够
    wmwmajie
        3
    wmwmajie  
    OP
       2020-11-17 10:52:58 +08:00
    @b00tyhunt3r go 性能不够?不太懂,go 编译后的代码和其他编译后的语言不会有差别吧,数据库这些应该就是同样的,有其他门槛低一点的框架或语言吗?
    b00tyhunt3r
        4
    b00tyhunt3r  
       2020-11-17 12:56:50 +08:00
    @wmwmajie
    当有有差别了 没差别的话岂不是只要是编译语言性能都一样了

    性能不够就是字面意思啊哪里没懂 语言都是有 IO 速度上限的
    当然你要是回合制,或者没有物理效果,或者非商业个人作品啥的 go 应该可以了
    www.toptal.com/back-end/server-side-io-performance-node-php-java-go
    b00tyhunt3r
        5
    b00tyhunt3r  
       2020-11-17 13:01:19 +08:00
    还有就是 go 有著名的 2 分钟 GC peak, 直观感受就是每两分钟卡顿一下。大型 MMO 应该很明显了
    wmwmajie
        6
    wmwmajie  
    OP
       2020-11-18 17:52:59 +08:00
    @b00tyhunt3r 所以我还是没太明白,你说的 io 上限主要就是在 io 操作上同步阻塞和异步非阻塞这块,这一块 go 肯定是做得比较好的,特别是 go 的异步能力,所以我不太理解有什么语言在异步 io 上能完全超过 go ?当然相差不大是有的,因为底层的 io 交互只要是异步非阻塞的 io 能力都会很强而且用的都是更底层的库。

    有其他框架或者语言推荐吗?
    我知道是有 C#,python,lua 这些,但是这些基本上也都是和 go 持平吧,只是可能框架熟练度高一点。
    当然我对这块也不了解,不知道是否有通用性高一点的游戏框架?
    wmwmajie
        7
    wmwmajie  
    OP
       2020-11-18 18:34:42 +08:00
    @b00tyhunt3r 我刚才看了一下 go gc 回收已经有很大改进和优化现在是异步的 gc 回收,而且时间基本都是在 10 微妙一下,高负载下也不会超过 100 毫秒。
    securityCoding
        8
    securityCoding  
       2020-11-20 20:31:39 +08:00
    @b00tyhunt3r go 做网络库还有性能瓶颈?
    sunshinev
        9
    sunshinev  
       2020-11-30 12:39:46 +08:00
    @b00tyhunt3r GC 的问题,网上搜了一下,现在已经可以压缩到 1.x 毫秒了
    sunshinev
        10
    sunshinev  
       2020-11-30 12:42:07 +08:00
    协议是不是很重要,之前试过 websocket+protobuf 协议的通信,后端 go 直接手写不用框架性能最高。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5447 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:08 · PVG 15:08 · LAX 23:08 · JFK 02:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.