我在 node.js
中制作了一个游戏并上传了它..它应该是每秒 30 - 60 帧..
现在我测试它,它运行缓慢..我的意思是在本地网络中它运行得更流畅
服务器距离并不远。那么有什么技巧可以提高 fps 吗?
xhr-pooling
和 websockets
哪个更好,哪个更快?
游戏是这样设置 xhr-pooling 的 -
io.set('transports', ['xhr-polling']);
游戏托管在appfog
如果需要我可以发布游戏链接!
最佳答案
这里的问题是你想做什么?如果服务器为每一帧向客户端发送一条消息,那么您所说的基本上是不可能的——无法可靠地保证互联网上低于 16 毫秒(60 fps)或 33 毫秒(30 fps)的网络延迟。它可能在本地网络上工作,并且几乎肯定可以在本地计算机上工作,但不能在互联网上工作。如果您需要从客户端获取信息到服务器并在下一帧中返回,则往返延迟需要那么低,包括双方的处理。由于 xhr-polling 和 websockets 都使用 TCP,情况会变得更糟,因为一个缓慢/丢失的数据包将暂停其后的所有内容,直到它最终出现。
您确实需要尽可能地将渲染与服务器解耦,以便在浏览器中制作可行的游戏。网络速度不够快。
关于javascript - 使用node.js上传多人游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930340/