2011-01-30 6 views
0

私はいくつかの数字をして、私のアプリケーションで、可能な限り最大設定を使用する場合、私は125 000 000のarrayListsのように作成する必要があります見つけることが終わった。125 000 000 arrayLists?

タイルベースのマップエディタです。ニース。マップのデータを格納する2次元配列マップを使用します。 許容される最大マップの寸法には、100 000 000+ arrayListsが必要です。

これは問題ありませんか?あなたは良いアイデアを持っていますか?私はList(Of T)を使うことができることを知っていますが、私はこの特別なシナリオでarrayListを使う理由があります。 一度に表示することができるものに、メモリ内のタイルの数を制限する -

は、たぶん私は

+1

テラバイトのRAMがある場合は、大丈夫かもしれません。 –

+0

データ構造についてのより良い理解を得るために、保存されるデータに関する詳細情報が必要です。説明には125000000の制限がある理由、または2次元配列が何であるか、またはarraylistsが何であるかは説明されていませんために。 –

+0

Omega: 'List(Of T) 'クラスにあなたを紹介した人は誰ですか? ;) –

答えて

3

は、あなたが一度にすべてのタイルを表示することはありません...って許さ最大設定値を減らす必要があります。

ズームを許可している場合は、最大ズームレベルを考慮しても、エディタは正常に動作しますが、メモリを使用する必要はありません。

+0

「メモリ内のタイル数を制限する」の部分についてもう少し説明してください。私も指摘する必要があります:私のアプリでは、 "タイル"は基本的に3つの要素のArrayListです。 3つの要素は、後でタイル画像を描画するためのデータです。 – Voldemort

+0

@Omega - タイルを操作するには、どのくらい小さくする必要がありますか?サイズ(高さと幅)を把握し、画面解像度(またはウィンドウ/ピクチャボックスサイズ)を知ることで、そのようなタイルの数をディスプレイに表示することができます。関連するものだけを読み込みます。 – Oded

+0

「ロード」とは「ペイント」を意味します。ですから、125MのarrayListsを持っていればいいですか? – Voldemort

関連する問題