Revision 526489

Go back to digest for 9th April 2006

Optimization in Office

Robert Knight committed changes in /branches/koffice/1.5/koffice/kspread:

Fix slow creation of column/row series and slow undo/redo of changing text of many cells. Hackers reading this note that setRegionPaintDirty should be called before any operation which is likely to change the appearence of a large number of cells. Since setRegionPaintDirty scans a linear list of regions to determine whether or not a newly-added cell is already marked for repainting, it becomes very inefficient if cells are added to the list one at a time rather than as a single large region at the start of the operation. In the future perhaps setRegionPaintDirty should use a quad-tree instead of a linear-list of regions.

File Changes

Modified 4 files
  • /branches/koffice/1.5/koffice/kspread
  •   /kspread_canvas.cc
  •   /kspread_sheet.cc
  •   /kspread_undo.cc
  •   /kspread_undo.h
4 files changed in total