0

私は単純なモバイル ゲームを書いています。最後に、プレーヤーのスコアとプレーヤー ID がクラウド内のデータベースにアップロードされます。このデータベースは、すべてのプレーヤーのハイスコアを維持します。

スコアをアップロードした後、ゲーム (クライアント アプリ) はデータベース内のすべてのスコアを取得し、現在のゲームのパーセンタイル スコア、このプレーヤーのベスト スコア、歴代トップ 20 プレーヤーのベスト スコアを計算して表示します。私が抱えている問題は、現在データベースに数百行しかないことですが、データベースのサイズが大きくなるにつれて、すべての行を取得してクライアント側で計算を行うのが難しくなります。

この計算をスケーラブルな方法で優れたパフォーマンスで実行できる方法はありますか?

4

2 に答える 2

1

各プレーヤーの絶対スコアを DB に保存し、ランキングが要求されたときにトップ スコアを見つけて、それを使用して各プレーヤーのパーセンテージを決定し、表示することができます。パーセンタイルは、各プレーヤーの順序付けされたインデックスを、クエリの結果を処理している時点で登録されているすべてのプレーヤーの数で割ることによって決定できます。

これらはすべて、サーバー上のデータ アクセス レイヤー (または同等のもの) で実行する必要があります。

于 2013-01-03T19:14:06.420 に答える
0

サーバー側で計算するべきだと思います

于 2013-01-03T18:52:48.970 に答える