【发布时间】:2013-05-30 07:22:02
【问题描述】:
我在 Meteor 中做了一个简单的射击游戏。我对 Javascript 还是很陌生,所以我很确定我的代码不是最有效的。
无论如何,在 localhost 上一切正常(当然),而且在我部署时大部分情况下似乎还可以。但是,有时会出现大量延迟,并且客户端最多无法赶上 30 秒。画布在客户端每 10 毫秒更新一次,在服务器上每 100 毫秒更新一次。
这是游戏: http://yujiangtham.com/jfleet/
来源: https://github.com/ytham/jfleet
我不确定从哪里开始调试。可能是因为:
a) Mongodb 不是为这么多快速读/写而构建的吗?
b) 某处某处出现滞后并导致某种级联滞后?
c) 在画布上更新这么多 HTML 元素会导致客户端延迟?
老实说,我很困惑。任何指向正确方向的指针都会很棒。谢谢!
【问题讨论】:
-
另外,澄清一下...游戏使用 Meteor,因此它可以同时支持页面上尽可能多的玩家合作玩,因此据我了解,一切都需要数据库写入,以便状态游戏实时同步到所有玩家。让我知道是否有更好的方法来做到这一点。
-
在提问之前挖掘你的问题并为每个问题提出一个问题。
-
@vinipsmaker 这不是 3 个单独的问题。我正在寻求从哪里开始挖掘的帮助。谢谢。
-
对于这三种技术,我只对MongoDB有足够的经验。您可以使用MongoDB utilities 了解您的应用程序的性能。您可以创建indexes 以提高性能,并创建shard 将工作分配给多个服务器。
-
@vinipsmaker 太好了,谢谢。这实际上很有帮助并给了我一些想法!
标签: javascript mongodb meteor