サーバーにはnode.jsを使用し、クライアントにはHTML5キャンバスに埋め込まれた.jsファイルを使用して小さなゲームを作成しています。プレイヤーはそれぞれ持っており、矢印キーで移動できるオブジェクトを持っています。
これで、ゲームを更新する2つの異なる方法を作成しました。1つは、プレーヤーが変更されるたびに新しい位置を送信することでした。それは機能しましたが、私のサーバーは1秒間に約60 x / yペアを処理する必要がありました(クライアントの更新速度は30 /秒で、2人のプレーヤーがノンストップで移動していました)。2番目の方法は、プレーヤーのオブジェクトの方向速度を変更したときに、オブジェクトの新しい位置と速度/方向のみを送信することでした。したがって、基本的に他のクライアントでは、プレーヤーの動きは前回の更新からの方向/速度を使用して補間されました。私のサーバーはごくわずかなx/y7speed / directionパケットを処理するだけで済みましたが、補間された位置がパケットに書き込まれた実際の位置から少し離れていることが多いため、パケットが到着したときにクライアントに少し遅れが生じました。
今私の質問は次のとおりです。どの方法をお勧めしますか?そして、どちらの方法でもラグ補正をどのように行う必要がありますか?