Ticket #1420 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

closeAllTiddlers very expensive

Reported by: jdlrobson Owned by: psd
Priority: undefined Milestone:
Component: core Version:
Severity: high Keywords:
Cc:

Description

If I open 100 or so tiddlers and hit the close all button, the browser locks up and is very slow.

The reason seems to be forceReflow, which is fired after every tiddler closed (rather than once at the end if it really needs to happen)

You can demonstrate this by adding the following code and noticing the different in performance on hitting the close all button.

 forceReflow = function() {}

Change History

Changed 2 years ago by psd

Changed 2 years ago by jdlrobson

Note on a related note, running displayTiddlers also suffers from the same problem. In displayTiddler forceReflow is run each time a tiddler is displayed. When clicking an open all tag on a tag with lots of tiddlers, this can also freeze the browser.

I guess forceReflow, needs to be suppressed temporarily during a display lots of tiddlers / close a lot of tiddlers action

Changed 2 years ago by jdlrobson

  • severity changed from undefined to high

Changed 2 years ago by jdlrobson

The forceReflow code was added to address the bug in  http://trac.tiddlywiki.org/ticket/320

The version in question is very out of date thus one might suggest removing the code completely which would solve this problem.

Changed 2 years ago by psd

remove forceReflow function, which was a hack for Firefox 1.5 and now causes closeAll and "open all" to break in Firefox 3.x and 4.x as well as other browsers thanks to invalid Geko detection, issue #916

Changed 2 years ago by psd

  • owner changed from JeremyRuston to psd

Changed 2 years ago by psd

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.