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 << "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 << "Compression ratio: 1 to " << (1.0/(volData.calculateCompressionRatio())) << std::endl;
|
||||||
PolyVox::Region reg2(Vector3DInt32(0, 0, 0), Vector3DInt32(255, 255, 255));
|
PolyVox::Region reg2(Vector3DInt32(0, 0, 0), Vector3DInt32(255, 255, 255));
|
||||||
std::cout << "Flushing region: " << reg2.getLowerCorner() << " -> " << reg2.getUpperCorner() << std::endl;
|
//std::cout << "Flushing region: " << reg2.getLowerCorner() << " -> " << reg2.getUpperCorner() << std::endl;
|
||||||
volData.flush(reg2);
|
//volData.flush(reg2);
|
||||||
std::cout << "Memory usage: " << (volData.calculateSizeInBytes() / 1024.0 / 1024.0) << "MB" << std::endl;
|
//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 << "Compression ratio: 1 to " << (1.0/(volData.calculateCompressionRatio())) << std::endl;
|
||||||
std::cout << "Flushing entire volume" << std::endl;
|
std::cout << "Flushing entire volume" << std::endl;
|
||||||
volData.flushAll();
|
volData.flushAll();
|
||||||
|
@ -274,7 +274,7 @@ namespace PolyVox
|
|||||||
/// Tries to ensure that the voxels within the specified Region are loaded into memory.
|
/// Tries to ensure that the voxels within the specified Region are loaded into memory.
|
||||||
void prefetch(Region regPrefetch);
|
void prefetch(Region regPrefetch);
|
||||||
/// Ensures that any voxels within the specified Region are removed from memory.
|
/// 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
|
/// Removes all voxels from memory
|
||||||
void flushAll();
|
void flushAll();
|
||||||
|
|
||||||
@ -301,8 +301,6 @@ namespace PolyVox
|
|||||||
mutable int32_t m_v3dLastAccessedChunkZ = 0;
|
mutable int32_t m_v3dLastAccessedChunkZ = 0;
|
||||||
mutable Chunk* m_pLastAccessedChunk = nullptr;
|
mutable Chunk* m_pLastAccessedChunk = nullptr;
|
||||||
|
|
||||||
mutable std::unordered_map<Vector3DInt32, std::unique_ptr< Chunk > > m_mapChunks;
|
|
||||||
|
|
||||||
mutable uint32_t m_uTimestamper = 0;
|
mutable uint32_t m_uTimestamper = 0;
|
||||||
|
|
||||||
uint32_t m_uChunkCountLimit = 0;
|
uint32_t m_uChunkCountLimit = 0;
|
||||||
|
@ -220,13 +220,16 @@ namespace PolyVox
|
|||||||
m_pLastAccessedChunk = nullptr;
|
m_pLastAccessedChunk = nullptr;
|
||||||
|
|
||||||
// Erase all the most recently used chunks.
|
// 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.
|
/// 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)
|
void PagedVolume<VoxelType>::flush(Region regFlush)
|
||||||
{
|
{
|
||||||
// Clear this pointer in case the chunk it points at is flushed.
|
// Clear this pointer in case the chunk it points at is flushed.
|
||||||
@ -256,7 +259,7 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
bool PagedVolume<VoxelType>::canReuseLastAccessedChunk(int32_t iChunkX, int32_t iChunkY, int32_t iChunkZ) const
|
bool PagedVolume<VoxelType>::canReuseLastAccessedChunk(int32_t iChunkX, int32_t iChunkY, int32_t iChunkZ) const
|
||||||
|
Loading…
x
Reference in New Issue
Block a user