3 ms·
A bit of searching implies that they are not stored as Octrees due to "performance reasons": > [...] To understand why octrees are slower for Minecraft games,
by lelandbatey 3y ago
A bit of searching implies that they are not stored as Octrees due to "performance reasons":
> [...] To understand why octrees are slower for Minecraft games, it isn’t really necessary to invoke such exotic explanations. The underlying reason for the worse performance is purely algorithmic: each time an arbitrary voxel is touched, either when iterating or performing a random access, it is necessary to traverse to the entire height of the octree. Since octrees are not necessarily balanced, this can be as much as log(maximum size of game world)! Assuming the coordinate system is say 32 bit, this brings an added overhead of 32 additional non-coherent memory accesses per each operation that touches the map (as opposed to the flat array, where everything is simply constant time).
https://0fps.net/2012/01/14/an-analysis-of-minecraft-like-engines/ https://0fps.net/2012/01/14/an-analysis-of-minecraft-like-en...
- protoman3000 3y agoThanks a lot! Posts like yours are exactly what make this community great.