Removed old chunk map.
Removed flush(Region) function as it's a bit trickier to implement with the new hash table, and it's not clear that we need it.
This commit is contained in:
parent
1e0e8a8c16
commit
12fdeb8e52
@ -164,9 +164,9 @@ protected:
|
||||
std::cout << "Memory usage: " << (volData.calculateSizeInBytes() / 1024.0 / 1024.0) << "MB" << std::endl;
|
||||
//std::cout << "Compression ratio: 1 to " << (1.0/(volData.calculateCompressionRatio())) << std::endl;
|
||||
PolyVox::Region reg2(Vector3DInt32(0, 0, 0), Vector3DInt32(255, 255, 255));
|
||||
std::cout << "Flushing region: " << reg2.getLowerCorner() << " -> " << reg2.getUpperCorner() << std::endl;
|
||||
volData.flush(reg2);
|
||||
std::cout << "Memory usage: " << (volData.calculateSizeInBytes() / 1024.0 / 1024.0) << "MB" << std::endl;
|
||||
//std::cout << "Flushing region: " << reg2.getLowerCorner() << " -> " << reg2.getUpperCorner() << std::endl;
|
||||
//volData.flush(reg2);
|
||||
//std::cout << "Memory usage: " << (volData.calculateSizeInBytes() / 1024.0 / 1024.0) << "MB" << std::endl;
|
||||
//std::cout << "Compression ratio: 1 to " << (1.0/(volData.calculateCompressionRatio())) << std::endl;
|
||||
std::cout << "Flushing entire volume" << std::endl;
|
||||
volData.flushAll();
|
||||
|
@ -274,7 +274,7 @@ namespace PolyVox
|
||||
/// Tries to ensure that the voxels within the specified Region are loaded into memory.
|
||||
void prefetch(Region regPrefetch);
|
||||
/// Ensures that any voxels within the specified Region are removed from memory.
|
||||
void flush(Region regFlush);
|
||||
//void flush(Region regFlush);
|
||||
/// Removes all voxels from memory
|
||||
void flushAll();
|
||||
|
||||
@ -301,8 +301,6 @@ namespace PolyVox
|
||||
mutable int32_t m_v3dLastAccessedChunkZ = 0;
|
||||
mutable Chunk* m_pLastAccessedChunk = nullptr;
|
||||
|
||||
mutable std::unordered_map<Vector3DInt32, std::unique_ptr< Chunk > > m_mapChunks;
|
||||
|
||||
mutable uint32_t m_uTimestamper = 0;
|
||||
|
||||
uint32_t m_uChunkCountLimit = 0;
|
||||
|
@ -220,13 +220,16 @@ namespace PolyVox
|
||||
m_pLastAccessedChunk = nullptr;
|
||||
|
||||
// Erase all the most recently used chunks.
|
||||
m_mapChunks.clear();
|
||||
for (uint32_t uIndex = 0; uIndex < uChunkArraySize; uIndex++)
|
||||
{
|
||||
m_arrayChunks[uIndex] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Removes all voxels in the specified Region from memory, and calls dataOverflowHandler() to ensure the application has a chance to store the data. It is possible that there are no voxels loaded in the Region, in which case the function will have no effect.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
template <typename VoxelType>
|
||||
/*template <typename VoxelType>
|
||||
void PagedVolume<VoxelType>::flush(Region regFlush)
|
||||
{
|
||||
// Clear this pointer in case the chunk it points at is flushed.
|
||||
@ -256,7 +259,7 @@ namespace PolyVox
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
template <typename VoxelType>
|
||||
bool PagedVolume<VoxelType>::canReuseLastAccessedChunk(int32_t iChunkX, int32_t iChunkY, int32_t iChunkZ) const
|
||||
|
Loading…
x
Reference in New Issue
Block a user