0

私は Haxe/OpenFL で大規模なマルチプレイヤー オンライン 2D ゲームを開発しています。このゲームでは、世界がセクターの 2 次元グリッドに分割されているため、各セクターが 1 つのオブジェクトとして機能します。サーバー上では、これらのセクター オブジェクトはメモリ内に存在する場合と存在しない場合があり (プレイヤーが現在メモリ内にいるかどうかによって異なります)、x座標とy座標を介してこれらのセクター オブジェクトにアクセスする必要があります。理論的には、これらのオブジェクトは常に数千個存在する可能性があります。

私の質問は、これらのオブジェクトを保存してアクセスするための最良の(最速で最も効率的な) 方法は何かということです。xyをインデックスとして2 次元配列を使用しようとしましたが、実装が非常に遅くなりました。

4

1 に答える 1

2

サーバー側では、ハッシュマップ データ構造を使用してセクターを保存できます。キーは x_y になります。サーバーの起動時にすべてのセクターを初期化した後、メモリを確認します。コストが 2 倍かかる場合は、最初にいくつかのメイン セクターを初期化し、別のセクターを初期化することができます。セクターは、実際にアクセスされたときにのみ初期化する必要があります。

于 2014-09-17T03:03:52.133 に答える