使用node.js上传多人游戏

时间:2013-07-29 17:26:28

标签: javascript node.js socket.io appfog

我在node.js制作了一个游戏并将其上传..它应该是每秒30 - 60帧..
现在我测试它并且运行缓慢..我的意思是在本地网络中它运行得更顺畅

服务器并不是那么遥远..所以任何提示如何使fps更好?

什么是更好的xhr-poolingwebsockets,什么更快? 游戏设置为像这样的xhr-pooling -

io.set('transports', ['xhr-polling']);

游戏托管于appfog

如果需要,我可以发布游戏链接!

1 个答案:

答案 0 :(得分:3)

这里的问题是你想做什么?如果服务器正在为每个帧向客户端发送消息,那么您所谈论的内容基本上是不可能的 - 因特网上的网络延迟低于16毫秒(60 fps)或33毫秒(30 fps)是不可能可靠保证的。它可能适用于本地网络,几乎可以肯定可以在本地计算机上运行,​​但不能在Internet上运行。如果您需要从客户端获取信息并返回到下一帧,那么您的往返延迟需要很低,包括双方的处理。由于xhr-polling和websockets都使用TCP,因此它会变得更糟,因为一个缓慢/丢失的数据包会暂停其后的所有内容,直到最终显示出来。

您确实需要尽可能地将渲染与服务器分离,以便在浏览器中制作可行的游戏。网络速度不够快。