【问题标题】:How to improve nodejs / socket io performance?如何提高 nodejs / socket io 性能?
【发布时间】:2015-06-12 17:56:42
【问题描述】:

我已经为一个小游戏设置了一个服务器。客户端在一定的时间间隔内将他们的运动数据发送到服务器。服务器也在一定的时间间隔内向客户端发送有关其他玩家的数据。如果我添加更多玩家,性能会变得更差。我现在如何提高性能?

发送单个属性而不是对象会提高速度吗?

我可以通过使用更大的间隔来创造更稳定的性能吗?

或者你有其他想法吗?

是否有调试工具可以检查哪些服务器操作会减慢服务器速度?

【问题讨论】:

    标签: javascript node.js performance websocket socket.io


    【解决方案1】:

    您实际上可以通过三种方式提高性能:

    1 - 减少您在套接字上发送的指令的大小。

    您可以通过以下方式实现:

    • 最小化您的 JSON
    • 使用小于 JSON 的MessagePack

    2 - 发送您需要的内容。

    • 如果需要移动播放器,只需发送位置即可。
    • 如果您需要弹出一个新播放器,则发送完整的对象并将其存储在客户端。
    • ...

    3 - 减少频率。

    您不需要发送每个职位。 例如,您可以每秒发送一个玩家位置。然后,在客户端上,您需要添加一个动画,将玩家移动到动画持续一秒的位置。 Here's an article that well explains game networking techniques

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-24
      • 2018-03-19
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 2019-02-07
      相关资源
      最近更新 更多