javascript - 別のクライアント(新しいタブ)が接続すると、マルチプレイヤーJavaScriptゲームが遅くなるのはなぜですか?

javascript node.js socket.io

canvas、socket.io、node.jsを使用してシンプルなマルチプレイヤーゲームを作ろうとしています。
他の人が接続するまでは問題ありません(別のタブを開いてゲームをそこに読み込みます)。それが起こると、すべてが遅くなり、最終的に停止します(私は動き回ることができます)。

使い方:
誰かがサーバーに接続すると、サーバーはソケットを配列オブジェクトに保存し、クライアントとの通信を開始します。クライアントはその名前と位置を含むオブジェクトを送信し、サーバーはそのソケットの配列を経由して、接続されている他のすべての人に送信します。クライアントがメッセージを受信すると、データを抽出し、それを使用して(位置に基づいて描画するなど)、タイムアウトと10ミリ秒を設定してサーバーに位置と名前を返信します。私が言ったように、これは何度も繰り返し、新しいウィンドウ/タブを開いて再接続するまでうまくいきます。

別のクライアントを起動するとなぜ遅くなるのですか?これがコードです:

server.js(これはほんの一部のコードで、残りはsocket.ioの例からのものです)

io.sockets.on('connection', function (socket) {
     socket.emit('init', {id: names[players.length], level: 5});
     socket.on('got', function (data) { 
          console.log("got");
          players.push(new Player(socket));
          socket.emit('update', {msg: "ks"});
     });

     socket.on('update', function (data){
          for (i = 0; i < players.length; i++)
          {
               players[i].socket.emit('update', {msg: data});
          }
     });
});

Player = function(socket)
{
     this.socket = socket
}


game.js

self.socket.on('init', function (data) {
      self.pl = new self.Player(data.id, data.level);
      console.log(self.pl.id);
      self.defined = true;
      self.socket.emit('got', { my: "data" });
 });

 self.socket.on('update', function (data){
      self.pars(data);
          setTimeout(function(){self.socket.emit('update', {'pos': self.pl.pos, 'id': self.pl.id})}, 10);        
 });
答え
私の最初の考えはリソースの問題です。これはすべてローカルマシンで実行されていると思います。すべてのリソースを使い果たしている可能性があります。

cpuから接続まで、何でもかまいません。詳細情報なしで言うのは難しい。

あなたのコードはクライアントへの接続を残したままずっと開いていますか?
関連記事

javascript - fillStyle内で直接乱数を生成することはできませんか?

javascript - 多重継承の質問

javascript - jQueryを使用して列の値の総数を集計するにはどうすればよいですか?

javascript - <img>要素を取得して、そのエラーを再評価するにはどうすればよいですか?

javascript - Djangoは組み込みウィジェットをローカライズします

javascript - Google Maps v3マーカーイベント

javascript - プログラムでテキストボックスの値を変更するとIE8が変更イベントを起動する

javascript - JCropがJavaScriptコードで機能しない

javascript - NodeJS用のRDF / XML JavaScriptコンバーターへのN-triples

javascript - javascript関数がオブジェクトの場合、なぜこれが機能しないのですか