David Williams
d1138dcdb1
Some new block compression code as I rework the previous code...
2013-07-30 16:01:03 +02:00
David Williams
020ac9655a
Added random prefix to filename to prevent name conflicts.
2013-07-30 15:42:51 +02:00
David Williams
a4fc814a51
Rearranging and renaming some code.
2013-07-29 16:04:01 +02:00
David Williams
ef59f329b6
Reorganising compression code.
2013-07-26 16:25:50 +02:00
David Williams
f54532a905
Started moving compression code into separate class.
2013-07-26 16:00:29 +02:00
David Williams
c3c4ead1f3
Work on paging to files.
2013-07-26 15:38:03 +02:00
David Williams
b767d9b896
Tidying up.
2013-07-25 17:07:50 +02:00
David Williams
f4f85551c6
Starting some refactoring of the LargeVolume such that the uncompressed blocks are the 'main' representation, rather than the compressed block being the main version and the uncompressed blocks simply being a cached version. I hope this simplifies and improves the code.
2013-07-25 15:51:30 +02:00
David Williams
cf9b54e5ab
Properly deleting data (delete vs. delete[]).
2013-07-24 16:53:40 +02:00
David Williams
b07dafc9fa
Added code to initilise empty compressed blocks.
2013-07-24 16:39:31 +02:00
David Williams
69066a068e
Implemented flushExcessiveCacheEntries()
2013-07-23 13:48:04 +02:00
David Williams
7c11a53484
Fixed flushOldestExcessiveBlocks().
2013-07-23 13:31:24 +02:00
David Williams
7146b5ecdb
The idea of a 'setTargetMemoryLimitInBytes' function was not really working out. It was too comp-lex and not really clear what the ideal size would be. I think user code needs to call setMaxNumberOfBlocksInMemory() and setMaxNumberOfUncompressedBlocks() directly, if they see from profiling toat too much camressing or paging is taking place.
2013-07-23 13:15:01 +02:00
David Williams
7cd115b33d
Work on code which computes how the memory should be split between compressed and uncompressed data.
2013-07-19 16:43:59 +02:00
David Williams
ef6bd31651
Small fixes.
2013-07-18 17:03:14 +02:00
David Williams
88cbeb309c
Reimplemented eraseBlock for uncompressed blocks.
2013-07-18 16:08:18 +02:00
David Williams
1e986f9aa6
Reimplemented eraseBlock for compressed blocks.
2013-07-17 17:00:12 +02:00
David Williams
404f12a43e
Added typedefs to simplify code.
2013-07-17 16:33:46 +02:00
David Williams
5b99854c02
Making block copy constructors and assignment operators private to prevent accidental copying.
2013-07-17 16:23:46 +02:00
David Williams
dea7e6a4e9
Tidying up block classes.
2013-07-16 16:50:04 +02:00
David Williams
b5d930062b
Const fixes.
2013-07-16 16:09:57 +02:00
David Williams
3904c9aa8f
Tidying and renaming...
2013-07-16 15:59:06 +02:00
David Williams
0cfb9f5196
Splitting 'Block into CompressedBlock and UncompressedBlock.
2013-07-16 14:42:43 +02:00
David Williams
a00574351f
Renamed Block to CompressedBlock
2013-07-11 16:38:28 +02:00
David Williams
00eb281990
Stripping down Block class.
2013-07-11 16:30:19 +02:00
David Williams
0d92bc6c8c
Starting to split Block class into CompressedBlock and UncompressedBlock.
2013-07-11 16:17:48 +02:00
David Williams
9ff95f7061
Minor fixes.
2013-07-11 15:55:34 +02:00
David Williams
e6cbc09e83
getUncompressedBlock now return raw pointer instead of block pointer.
2013-07-11 15:30:15 +02:00
David Williams
884fe04c12
Tidying up...
2013-07-11 15:01:18 +02:00
David Williams
abd1920d80
Adding new caching mechanism.
2013-07-11 14:50:06 +02:00
David Williams
a589c6e4ac
Split come code into getCompressedBlock() function.
2013-07-11 14:26:38 +02:00
Daviw Williams
056064409d
Work on LargeVolume.
2013-07-05 16:07:38 +02:00
Daviw Williams
0c55938242
Work on the code that frees up memory in LargeVolume.
2013-07-05 15:41:16 +02:00
Matt Williams
2f2475ad0c
Avoid ambiguous function resolution of getVoxelImpl
...
Clang was complaining that the function couldn't access the *Volumes*'s
``getVoxelImpl``. Since we actually want the ``BaseVolume::Sampler``'s
version this solves the problem.
2013-07-04 22:05:06 +01:00
Matt Williams
8027f9904d
On systems that support it, raise SIGTRAP to drop into the debugger
...
Clang was being clever and giving a warning for this line so it prompted me
to fix it. I believe that SIGTRAP is the correct way to get the debugger to
work here.
It does a compile-time check for the platform when not using MSVC.
Discussed at http://www.volumesoffun.com/phpBB3/viewtopic.php?p=3766#p3766
2013-07-04 19:35:09 +01:00
Matt Williams
9f7f893b68
Change the types of the edgeTable and triTable
...
The range on values in these tables is much less than needs an int so
making them specific width types packs them smaller.
I measure a 5% decrease in the size of the .so file created at -O3.
2013-07-04 19:35:09 +01:00
Daviw Williams
bd60f34bd7
Removing explicit functions to control the number of compressed and uncompressed blocks in memory, and letting the user set a memory limit instead.
2013-07-04 16:23:58 +02:00
Daviw Williams
26f512eba7
Fixed compile warning.
2013-07-02 16:08:52 +02:00
Matt Williams
c843e7e705
Remove unnecessary consts.
...
Since a copy is being made in the return, the const qualifiers are
ignored anyway.
2013-07-01 12:23:21 +01:00
Matt Williams
edf1f5d665
Fix compile error caused by missing #include.
2013-06-28 16:47:02 +01:00
Daviw Williams
059a4b9465
Reverted accidental commit of test code.
2013-06-28 16:58:31 +02:00
Daviw Williams
e38aa3b1b9
Unit tests now test FilePager.
2013-06-28 16:16:08 +02:00
David Williams
839f366174
Compile fixes for Linux.
...
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
Daviw Williams
0d839c4a51
Merge branch 'feature/paging' into develop
2013-06-27 16:49:32 +02:00
Daviw Williams
f3ec94dd75
Reverted changes made for testing.
2013-06-27 16:43:49 +02:00
Daviw Williams
97a501e3da
Updated changelog.
2013-06-27 16:41:24 +02:00
David Williams
72b3cd5154
Tidying up and comments.
2013-06-26 23:39:21 +02:00
David Williams
885a50e781
Merge branch 'develop' into feature/paging
2013-06-26 22:49:36 +02:00
David Williams
56cf423bfd
Added POLYVOX_THROW_IF macro to simplify error handling.
2013-06-26 22:39:15 +02:00
David Williams
1064ea1c47
Stripped out unused code.
2013-06-26 22:14:01 +02:00