0

データを取得し、クライアントに送り返す前に 2 次元配列オブジェクトに解析するアプリケーションを構築しています。次に、アプリケーションはデータを使用して HTML5 キャンバス上に画像を作成します。配列には数千のエントリが含まれており、GWT-RPC を使用してアプリケーションをビルドしたところ、正常に動作しましたが、配列をクライアントに転送するのに時間がかかりすぎました (数分)。

解決策を検索すると、この問題が見つかりました: http://code.google.com/p/google-web-toolkit/issues/detail?id=860

最後の応答は数か月前のものでしたが、サーバーからクライアントに大きな配列を渡すための最良の方法に対する決定的な答えはないようです。deRPC は非推奨になっているため (まだ実際に使用してみていません)、requestfactory を使用するのが唯一の選択肢ですか? requestFactory は、計算を実行して大きな結果を返すためではなく、データベースにアクセスするためのものであるように思われます.計算のためにリクエストが行われ、結果が返される例は見つかりませんでした. 現在の実装で配列の代わりに JSON オブジェクトを作成して RPC を維持する必要がありますか、それとも requestFactory に関して何か不足していますか?

4

1 に答える 1

4

リンクした問題は、データ転送速度ではなく、クライアントでの逆シリアル化の速度が遅いことです。最初に Firebug または同様のツールを使用して転送速度を測定し、この時間を RPC 呼び出しの合計時間から差し引いて、デシリアライゼーションに費やされた時間を確認する必要があります。大雑把に言えば、分裂は次のようになります。

合計 RPC 時間 = サーバーで費やされた時間 + ネットワークのインアウト時間 + デシリアライゼーション時間

まずどこが本当のボトルネックなのかを突き止める必要があります。それがデータ転送速度であることが判明した場合は、おそらく設計を再考する必要があります。関連する質問に対する私の回答を参照してください。

編集:

IMO、上記の時間分割を計算するまでは、JSON または別のアプローチが適切かどうかという質問を脇に置いておく必要があります。

于 2011-08-23T11:44:47.857 に答える