Apache OpenOffice (AOO) Bugzilla – Issue 9195
Long list of recorded changes makes character deletion very slow
Last modified: 2013-08-07 14:43:39 UTC
If I press delete or backspace in a document that has very long list of recorded changes, it takes over one second per character to perform the deletion. If I select the text with mouse and then delete it, the delay is still noticeable, but not so dramatical. The PC is P3 900 MHz with 256 MB RAM. There are no problems while inserting new text. As a test I deleted all the contents in the document, but it did not improve performance. When I accepted all changes using (Edit / Changes / Accept or reject changes) performance became normal. There should be some limit in the number of recorded changes or a warning to the user if the side effect can not be removed.
Reporter, could you upload a file that exhibits the issue that you are seeing?
Created attachment 3580 [details] Document that exhibits the issue
Issue 8518 has noted this problem. *** This issue has been marked as a duplicate of 8518 ***
dvo: The phenomenon is indeed known. Due to some (older) design decisions, there can be significant performance problems with long documents and change tracking. Unfortunately, these design issues are rather fundamental, so changing them will require rewriting siginificant portions. So while there's agreement among the team that these things should be changed, there is no agreement on how exactly things should be changed, and also nobody has been willing to spend the time. dvo->christianseres: There is a rather trivial work-around for the change tracking/performance problem: If changes are made visible, performance should be normal. One can then turn of visible change marks when printing. dvo: So there's two things to do: 1) Consider the idea of a warning. I'll ask FL on that. 2) Deal with the performance (later). Since there's another issue with this, I suggest this issue be closed when the waarning idea is accepted or rejected. The performance issue will be dealt with elsewhere. (Sorry; I forgot the number.) dvp->prgmgr: I think that technically, this is not a duplicate of #i8518#, so I'll reopen this.
dvo: Please considere the suggestion of issuing a warning. There is already an internal bug report (#94791#) for this. You may find the bugdoc given there to allow easier reproduction of the problem.
Set milestone
We should show the following message in a box with an "i" icon and a OK/Abort button if deleting takes more than 1 second. The view setting will not be changed if the user presses abort instead of OK. If the user has pressed abort, OO/SO will not ask the user again for runtime of current doc (status will not be save within the doc). FL->EM: Please finalize the following text and forward to DVO/OS: 01:"Record changes Record changes is active for the current document, but show changes is not. This could cause performance problems when deleting text in large documents. Show changes will be enabled for this document to increase performance. OK Abort" 49:"Änderungen aufzeichnen Änderungen aufzeichnen ist für das aktuelle Dokument aktiviert, aber die Änderungen werden nicht angezeigt. Dieses kann zu einem Performanzproblem führen, sobald Text in umfangreichen Dokumenten gelöscht wird. Das Anzeigen der Änderungen wird für dieses Dokument automatisch angeschaltet, um die Performanz zu erhöhen. OK Abbrechen"
working on it
Elizabeth -> OS: Here is the message in Ger + Eng. Please use a "?" as symbol for the message box rather than the "i" as Frank suggested. ENGLISH: TITLE %PRODUCTNAME %PRODUCTVERSION BODY In the current document, changes are being recorded but not shown as such. In large documents, delays can occur when text is deleted. Do you want to show the changes to avoid delays? BUTTONS Yes No GERMAN: TITLE %PRODUCTNAME %PRODUCTVERSION BODY Im aktuellen Dokument werden die Änderungen aufgezeichnet aber nicht als Solche angezeigt. In umfangreichen Dokumenten, kann es beim Löschen von Text zu Verzögerungen kommen. Wollen Sie die Änderungen anzeigen, um Wartezeiten zu vermeiden? BUTTONS Ja Nein
->dvo: How should it be detected when to show the Box?
dvo->fl, Elizabeth: This can happen when 1) deleting 2) replacing, or 3) moving text. All of these technically involve some form of deletion (replace, move = delete + insert), but from a user perspective those are probably different operations. Please change the wording to be more general to accomdate this.
We should change the text as follows: GERMAN: TITLE %PRODUCTNAME %PRODUCTVERSION BODY Im aktuellen Dokument werden Änderungen aufgezeichnet aber nicht als Solche angezeigt. In umfangreichen Dokumenten, kann es dadurch zu Verzögerungen beim Bearbeiten des Dokumentes kommen. Wollen Sie die Änderungen anzeigen, um Wartezeiten zu vermeiden? BUTTONS Ja Nein
Elizabeth->DVO: See German from FL. Hers's the new English text. ENGLISH: TITLE %PRODUCTNAME %PRODUCTVERSION BODY In the current document, changes are being recorded but not shown as such. In large documents, delays can occur when the document is edited. Do you want to show the changes to avoid delays? BUTTONS Yes No
dvo->Ocke: Please have a look at this. There's three occasions where this happens, 2 in docedt.cxx and one docnum.cxx (sw/source/core/doc). The problem areas are marked by comments "MUSS noch optimiert werden". The idea is that, when this code is executed and there are more than x redlines in the redline table, the user should be asked to disable redlines. However, the user should be asked at most once per document per session. For a wild guess, lets take x=500;
.
Fixed in cws SW008
OJ->FS: Please verify.
Please check in sw008. Thx.
Verified in CWS SW-008.
Set to fixed.
SBA: Set to verified.
All tasks are verified in OOo1.1 Beta2