我正在制作一个具有统一性和 Colyseus 后端的多人游戏(服务器/客户端)。目前后端每秒向每个客户端发送 20 次更新。我希望每个客户端每秒也向服务器发送大约 20 条消息。这是不是太多交流了?(消息非常小,一个带有 5 个字符串字段的 JSON 对象)。
我不想构建游戏并发现它不可扩展:(。所以论文:每个客户端每秒向服务器发送一条小消息 20 次太多了吗?
我正在制作一个具有统一性和 Colyseus 后端的多人游戏(服务器/客户端)。目前后端每秒向每个客户端发送 20 次更新。我希望每个客户端每秒也向服务器发送大约 20 条消息。这是不是太多交流了?(消息非常小,一个带有 5 个字符串字段的 JSON 对象)。
我不想构建游戏并发现它不可扩展:(。所以论文:每个客户端每秒向服务器发送一条小消息 20 次太多了吗?
正如 Slugart 所提到的,最好进行基准测试并从那里开始。
话虽如此,如果您发现性能成为瓶颈,您可以做一些事情:
还有一些其他选项可用,但它们不适用于 javascript(据我所知)。如果您期望有大量玩家,并且每个人都想尽可能优化,我建议切换到支持多线程、对象池(以减少垃圾收集时间)等的后端,以获得最大的性能。
免责声明:我是ServerBytes的联合创始人- 我们帮助您更快地制作游戏。
您还可以免费试用ServerBytes - 一个支持高并发、高吞吐量、自定义 c# 后端代码等的平台。
这取决于您尚未指定的许多事情,其中首先是您希望同时拥有多少个服务器实例玩家和多少服务器实例。
我建议您快速对消息的(反)序列化需要多长时间进行基准测试,然后将其乘以您希望看到的实际消息量。
您还可以创建一个概念证明,除了以不同的消息速率发送消息之外什么都不做,以了解它的扩展方式。