Revision 768355

Go back to digest for 3rd February 2008

Features in Office

Bart Coppens committed changes in /trunk/koffice/krita:

*Lightning Flash* *KABOOM!*

Bet you didn't see this one coming, eh? ;-)This commit adds an experimental new tile backend, which features actual shared tiles and so. It's also supposed to be more robust for threading. Emphasis on the 'supposed'.

It's still very experimental, a lot of things probably are just plain wrong and bad code, and it might crash your Krita.

It seems almost all regression tests pass (including some new ones written specifically for it), but sometimes there is a random SIGSEGV, I haven't figured out yet what's causing those (but you can be absolutely sure that the amount of crashes is significantly lower than while I was coding this all).

It also doesn't do a lot of things yet, like clean up its tempfiles at exit and all that dull stuff about deleting unused data and so ;-)

Cyrille will be (not very) pleased to find out it is also significantly slower, at least when just timing the make tests. I'm suspecting either bad coding (possibly memory leakage, or just badly written), or too much time being spent in locking.

This codepath is disabled by default (Duh!). To try it out, edit the krita/image/CMakeLists.txt, and comment out the 'set(USE_OLD_TILESYSTEM 1)'.

Have fun with it! (Or not... :P)

File Changes

Added 35 files
  • /trunk/koffice/krita/image
  •   /config-tiles.h.cmake
  •   /tiles_new
  •   /tiles_new/CMakeLists.txt
  •   /tiles_new/kis_memento.cc
  •   /tiles_new/kis_memento.h
  •   /tiles_new/kis_tile.cc
  •   /tiles_new/kis_tile.h
  •   /tiles_new/kis_tile_compressor.cc
  •   /tiles_new/kis_tile_compressor.h
  •   /tiles_new/kis_tile_global.h
  •   /tiles_new/kis_tiled_random_accessor.cc
  •   /tiles_new/kis_tiled_random_accessor.h
  •   /tiles_new/kis_tileddatamanager.cc
  •   /tiles_new/kis_tileddatamanager.h
  •   /tiles_new/kis_tiledhlineiterator.cc
  •   /tiles_new/kis_tilediterator.cc
  •   /tiles_new/kis_tilediterator.h
  •   /tiles_new/kis_tiledrectiterator.cc
  •   /tiles_new/kis_tiledvlineiterator.cc
  •   /tiles_new/kis_tilestore.cc
  •   /tiles_new/kis_tilestore.h
  •   /tiles_new/kis_tilestorememory.cc
  •   /tiles_new/kis_tilestorememory.h
  •   /tiles_new/kis_tileswapper.cc
  •   /tiles_new/kis_tileswapper.h
  •   /tiles_new/tests
  •   /tiles_new/tests/CMakeLists.txt
  •   /tiles_new/tests/kis_tile_sharing_tester.cpp
  •   /tiles_new/tests/kis_tile_sharing_tester.h
  •   /tiles_new/tests/kis_tiled_data_tester.cpp
  •   /tiles_new/tests/kis_tiled_data_tester.h
  •   /tiles_new/tests/kis_tiles_regression_tester.cpp
  •   /tiles_new/tests/kis_tiles_regression_tester.h
  •   /tiles_new/tests/kis_tileswapper_tester.cpp
  •   /tiles_new/tests/kis_tileswapper_tester.h
Modified 7 files
  • /trunk/koffice/krita
  •   /image/CMakeLists.txt
  •   /image/kis_datamanager.h
  •   /image/kis_iterator.cc
  •   /image/kis_paint_device.cc
  •   /image/kis_random_accessor.h
  •   /ui/kis_dlg_preferences.cc
  •   /image/tiles/kis_tilediterator.cc
42 files changed in total