私は、人々がさまざまなゲームに参加できるロビーを持つマルチプレイヤーゲームを開発しています。Javaサーバーの各ゲームルームのスレッド?
ゲームルームごとにスレッドを開始するかどうか不思議です。
私は既に各プレーヤーのためのスレッドを持っているので、私はjava.ioを使用しています。
各スレッドに負荷がかからないにもかかわらず、多くのスレッドがサーバーを減速させることはありますか?
私は100人のプレイヤーと30の部屋のためにサーバーをホストすれば、avarage仮想サーバーは一度に150スレッドを処理できますか?それともゲームプレイに影響を与えますか?
各位置更新(UDP)のインスタントメッセージ配信が必要なリアルタイムゲームですか?
一般に、スレッドより多くのスレッドを使用すると、同時にパフォーマンスを低下させることができます。しかし、この数字が小さいほど、パフォーマンスのわずかな差はおそらく複雑さを増すほどの価値はありません。 (スレッドを130回程度切り替えることなく、100クライアントと30ルームのそれぞれの作業を少しでも行うことができないという事実から、パフォーマンスのコストがかかります)より効率的な設計では、これらのコンテキストスイッチはすべて回避できます。 ) –
@DavidSchwartzはい、各プレイヤーと接続ごとに別々のオブジェクトを持つことで、デザインがずっと楽になります。助けてくれてありがとう、それは他のものについてあまり心配するよりも、私のデザインに集中するのが良いです:) –