此刻我将体素存储在一个简单的列表中。 ([0,0,0,0,0,1,0,0,1 ...]) 要检索列表中的当前位置素我使用此功能:处理三维体素数据的最佳方法是什么?
def getBlockKey(self, x, y, z):
blockX = x % CFG_CHUNK_SIZE
blockY = y % CFG_CHUNK_SIZE
blockZ = z % CFG_CHUNK_SIZE
return blockX + blockY * CFG_CHUNK_SIZE + blockZ * (CFG_CHUNK_SIZE * CFG_CHUNK_SIZE)
但这时候很慢处理大量的数据。例如,遍历256 * 256 * 256块中的每个立方体需要50秒。
我想它会更快使用字典,但它使用太多的内存。
你能帮我找到这两者之间的妥协吗?