此刻我將體素存儲在一個簡單的列表中。 ([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秒。
我想它會更快使用字典,但它使用太多的內存。
你能幫我找到這兩者之間的妥協嗎?