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 トラフィックの場合は正常であるため、1 つのパケットが遅れると、その背後にある他のすべてのパケットが待機する必要があります。

X、Y 位置にデルタを含む各データグラムを使用して、UDP で試してみることをお勧めします。そうすれば、いくつかのパケットが順不同であっても、マウスは同じ目的地に到達し、いくつかのパケットがドロップされても、他のパケットは引き続き通過し、とにかくカーソルを微調整します.

于 2012-08-06T20:28:21.937 に答える