我在node.js
制作了一个游戏并将其上传..它应该是每秒30 - 60帧..
现在我测试它并且运行缓慢..我的意思是在本地网络中它运行得更顺畅
服务器并不是那么遥远..所以任何提示如何使fps更好?
什么是更好的xhr-pooling
或websockets
,什么更快?
游戏设置为像这样的xhr-pooling -
io.set('transports', ['xhr-polling']);
游戏托管于appfog
如果需要,我可以发布游戏链接!
答案 0 :(得分:3)
这里的问题是你想做什么?如果服务器正在为每个帧向客户端发送消息,那么您所谈论的内容基本上是不可能的 - 因特网上的网络延迟低于16毫秒(60 fps)或33毫秒(30 fps)是不可能可靠保证的。它可能适用于本地网络,几乎可以肯定可以在本地计算机上运行,但不能在Internet上运行。如果您需要从客户端获取信息并返回到下一帧,那么您的往返延迟需要很低,包括双方的处理。由于xhr-polling和websockets都使用TCP,因此它会变得更糟,因为一个缓慢/丢失的数据包会暂停其后的所有内容,直到最终显示出来。
您确实需要尽可能地将渲染与服务器分离,以便在浏览器中制作可行的游戏。网络速度不够快。