Opened 13 years ago

Closed 12 years ago

#1360 closed defect (wontfix)

TreeDisableWrapExtension is very slow (IE)

Reported by: ilia Owned by: ilia
Priority: high Milestone: 0.9
Component: Widgets Version: 0.9
Keywords: Cc:
Blocked By: Blocking:

Description

Probably, the right way would be remove this calculation if its so slow, and throw/check resize event.

> yes. it is The Problem.
> I never see CSS Dynamic Properties before .
> http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/ov
>erview/recalc.asp http://www.svendtofte.com/code/max_width_in_ie/
>
> thanks.
>
> 2006/8/28, Ilia Kantor <ilia@dojotoolkit.org>:
> > Hm.. TreeDisableWrapExtension is very simple..
> >
> > maybe this CSS is problem
> > .TreeIEDisableWrap {
> >         width: expression( 5 + firstChild.offsetWidth );
> > }
> >
> > > I fix IE image-reloading Bug.
> > >
> > > Expand and collapse are really slow ( > 3 seconds ) on IE6 with the
> > > wrapExtension enabled !

Attachments (1)

largeThinNoWrap.html (4.4 KB) - added by development-staff@… 13 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 13 years ago by ilia

No, the whole point is to recalculating on window resize

comment:2 Changed 13 years ago by ornus

I couldn't reproduce the problem. collapse/expand all for a large tree is just as quick with nowrap as it is without. could you provide more details please?

Changed 13 years ago by development-staff@…

Attachment: largeThinNoWrap.html added

comment:3 Changed 13 years ago by development-staff@…

To see the performance issue in IE, the tree needs to be in a container or div thin enough to cause wrapping. With the attached test file, I'm getting avg times in FF of 11 seconds on expand and 1 second on collapse. In IE, the times are 25~60 seconds on expand and just as long on collapse.

comment:4 Changed 13 years ago by ilia

ornus, please reply ?

comment:5 Changed 13 years ago by ornus

hey, I'm having trouble reproducing this problem. I'm going to attach a test case. it takes about 8-10 seconds for expand all to complete whether nowrap is enabled or not. to be frank I don't see why small container would have any impact on the expand/collapse performance. nowrap works by putting tree in an invisible container that shields the tree from the outside width influence. the speed should always be the same, and it is in my case. I might be missing something, but I would like to try and reproduce the problem to better understand the cause and what can be done about it.

I'm not sure how to prevent nowrap without dynamic CSS properties. what we could do is disable no wrap while expand/collapse is in progress and enable it after it's done. this means the tree will wrap while expanding, but hopefully jump back to nowrap state when expand is completed. it might not. anyway, I'm not happy with this idea because it will break tree visually on expand/collapse.

comment:6 Changed 13 years ago by ornus

sorry, I missed attached test case. it's practically the same as the one I wrote. I took a look at it and I don't have the same problem. yes, it's a little bit slower (about 1-2 seconds difference with regular nowrap test). collapse is a little bit slower, but not significantly (1-2 seconds difference as well). I tested on IE7 and IE6 (I have them side by side). which IE are you using?

I managed to get significant slowdown when I remove overflow: auto. containing div then needs to expand to show the tree. but with nowrap disabled expand/collapse operations are very slow as well.

comment:7 Changed 12 years ago by bill

Resolution: wontfix
Status: newclosed

Not valid w/new dijit tree.

Note: See TracTickets for help on using tickets.