0

使用 nodeJS 和 socket.io 作为练习,我构建了一个由 iphone 控制的鼠标光标原型,它在浏览器视口上移动。而已。它有效,但性能真的很差。光标生涩,被切碎......它移动不顺畅......正如我在终端中看到的发射,有时它被卡住......

我正在考虑使用下面的代码之类的东西,但仍远未达到最佳状态..

setInterval(function() {
   socket.emit('sendposition', x, y);
}, 25);

我想知道是否有任何提高性能的最佳实践。如果性能如此糟糕,你如何构建在线多人游戏?

谢谢!

4

2 回答 2

0

我尝试使用socket.send, 而不是socket.emit,它听起来......更好......不是完美但更好......

于 2012-08-07T22:43:13.630 回答
-1

网络流量可能有抖动,这是正常的,尤其是TCP流量,网络保证按顺序传递,所以当一个数据包迟到时,后面的所有其他数据包都必须等待。

我建议您尝试使用 UDP,每个数据报在 X、Y 位置包含一个增量。这样,如果一些数据包出现故障,鼠标仍然会到达相同的目的地,如果一些数据包被丢弃,那么其他数据包仍然会通过并推动光标。

于 2012-08-06T20:28:21.937 回答