Revision e09e0f0...
Go back to digest for 13th March 2011Features in Office
Implemented a new bounded tile data pooler
(!) Important notice: it would be more safe to perform 'make clean'
in krita/image/ directory if you decide to switch to this branch
Well, this commit implements a new memory-bounded pooler thread. The
configuration of the pool is done using a special option
"memoryPoolLimitPercent". It sets the percent of the memory, that you
would like to spend on the tiles pool. Please notice, that this value
is included in hard/soft limits as well. That means Krita will never
take more than Hard Limit memory on tiles and clones together.
This implementation performs not full power yet. I haven't done any
optimizations, so the highest efficiency it can reach now is 50% of
tiles pre-clone hits. I could get this numbers on gradient tool and on
very short brush strokes. It is quite curious, but the longer stroke
you do, the less efficient the pooler is. I hope i'll get it fixed
soon.
File Changes
- /image/tiles3/tests
- krita/kis_tile_data_pooler_test.cpp
- krita/kis_tile_data_pooler_test.h
- /image
- krita/kis_image_config.cpp
- krita/kis_image_config.h
- krita/tiles3/kis_tile_data_interface.h
- krita/tiles3/kis_tile_data_pooler.cc
- krita/tiles3/kis_tile_data_pooler.h
- krita/tiles3/kis_tile_data_store.cc
- krita/tiles3/kis_tile_data_store.h
- krita/tiles3/swap/kis_tile_data_swapper_p.h
- krita/tiles3/tests/CMakeLists.txt
- krita/tiles3/tests/kis_store_limits_test.cpp