我一直在咀嚼这一段时间,我想我会打开一个问题,并试图获得一些关于它的想法。也许有些东西会引发一个灯泡。需要非常大的数据结构。寻找想法
我需要建立一个六角形网格,并且这个六角形网格将是最小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