我一直在咀嚼這一段時間,我想我會打開一個問題,並試圖獲得一些關於它的想法。也許有些東西會引發一個燈泡。需要非常大的數據結構。尋找想法
我需要建立一個六角形網格,並且這個六角形網格將是最小10 x 10和最大500x500 - 並且可能更大。這顯然是高端電網,自然必須分解。
這是問題的主要部分。
- 500x500網格的六邊形。約。
- 他們不經常改變,但他們可以改變。
- 將其分解爲50x50或100x100的部分是非常可行的,但有可能有人可能從地圖的一端跑到另一端,所以我需要能夠在某個時刻處理整個事情,即使它是分段的。
- 這顯然會造成大的內存消耗。
我可以將數據(共享變量)存儲爲簡單的byteArray或甚至在plainText中。每個十六進制的信息非常簡單,只是有多少。我不「保存」數據。 (將是一個功能)
每個六邊形的基本結構是:
- 十六進制顏色(與輪廓明顯) (或位圖圖片)阻擊器 任何人!
- 帶有數字的TextField。 (最大2 數字)
這幾乎是所有需要的信息。
如果沒有十六進制變化的可能性,這將是相當微不足道的。
所以我很好奇,如果有人對此有任何想法。 (任何絕對真理都不會是壞的;)
編輯:哦,關於hexes的信息通過tcp流。這不是一個問題,就像我說的那樣,每個十六進制的數據是簡單的,我的解析器閃電般快,所以這不是問題。
更新:必須創建和維護250,000個對象(hexes)的可能性是我主要問這個問題。這就是我尋找想法的原因。 (閃存中的250k對象很好)
從描述中不太清楚問題是什麼。一個相當小的數據結構的500x500陣列在內存中不會很大。如果您需要存儲的只是RGB顏色和int,則只能是幾兆字節。究竟是什麼問題? – 2011-03-31 02:06:42
250,000個可能的對象是我問爲什麼。只是爲了地圖。 – Feltope 2011-03-31 02:07:53
如果對象很大,250,000個對象只是一個問題。但是你指定你的數據結構有一個顏色(4字節)和一個int(4字節)。這是少量的數據(〜2MB)。你需要同時顯示多少這些六角形的東西?據推測,並非所有250,000在同一時間... – 2011-03-31 02:41:35