[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    Re: kspread slowness with a lot of data
From:       Philipp =?iso-8859-1?q?M=FCller?= <philipp.mueller () gmx ! de>
Date:       2003-02-22 20:25:27
[Download RAW message or body]

On Saturday 22 February 2003 19:15, Norbert Andres wrote:
> I also see another bug here: put something into A1, something else in A2
> and then add a series starting A3 to fill the cells up to A2000.
> If I press Ctrl-Up at A2000 I end up in A2 not in A1. Hmm. And everything
> gets a little bit slow after jumping down to A32000. Moving the cursor is a
> pain here. The repainting doesn't work very nice.

Yepp, stopping at A2 was a bug. Fixed in cvs now.

For the general slowness with only 3000 cells content, I'm clueless.

The slowness at the range end is due to the current expensive positioning 
calculation.
Do you remember that I said we should switch to a fixed cell top/left?

Each positioning calculation is done by a full sum of heights/width of 
rows/columns and not by a relative calculation to the current top/left (i.e. 
see sheet->topRow() or ->leftColumn() ).

Just as an example: You added the mouse over function for the d&d of 
selections. This involves for each mouse move this heavy calculation.

The simple fix would be to store the x/y coordinate for the 0/0 of the canvas 
and then work relative to this value. But I consider this ugly. The real fix 
is here to work with having always a full cell at top/left (as all the others 
are doing).

Additional the topRow() / leftColumn can be optimized by a better calculation.
Normally the height/width is standard height. So why don't we calculate 32000 
x standardHeight instead of the current height += standardHeight?
We could use here the same functionality we use in cluster->nextCellDown: E.g. 
cluster->nextFormatDown (all formats in between is then standard format).

Philipp
____________________________________
koffice mailing list
koffice@mail.kde.org
To unsubscribe please visit:
http://mail.kde.org/mailman/listinfo/koffice
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic