Personally I consider preventing the user from navigating to something
underneath the overlay an edge-case that I might not care about,
especially if that means choosing between decent and dreadful
performance.
What are the current plans for dealing with this issue?
Wichert.
--
Wichert Akkerman <wic...@wiggy.net> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.
I timed this on a project I'm working on using IE6: the dialog overlay
slows the dialog opening down from 5 seconds to 25 seconds. That is a
full 20 seconds slowdown!
While stripping a local copy of the dialog down I noticed something
unexpected: 10 seconds of that delay is due to the resize handler.
While stripping a local copy of the dialog down I noticed something
unexpected: 10 seconds of that delay is due to the resize handler.
Can we at least get an option to disable the overlay in 1.7?
Both possibly. There can be good reasons to not use the stock overlay,
for example the ability to use animations to reveal the overlay.
I did a few rough timings to see what influences the performance. All
timings are for opening the same modal dialog, using IE6 on XP SP2.
- original code (as in rc6): 27.8 seconds
- without keypress.ui-dialog binding in dialog.open: 24.2 seconds
- without keyboard handling in overlay: 25.3 seconds
- without resize handler binding in overlay: 8.0 seconds
- all keyboard binding and resize options disabled: 7.3 seconds
- skip overlay creation in dialog.open: 6.3 seconds
Changing the opacity of the overlay did not seem to change the timings.
No bgi was used.
The resize handler is triggered very, very, very often even if you do
not resize the browser.
The resize handler is triggered very, very, very often even if you do
not resize the browser.
event.target is indeed never the window, so I'm guessing those are
bubbled events generated when doing layout or DOM manipulations.
Testing for event.target and bailing out if event.target!==window halves
the time spend on resizing logic, which still leaves a sizable delay.
I'm not sure how to give a good indication of complexity. The panel
implemented by AJAX-loading a subset of another page and opening that in
a panel. Rendering that whole page takes about 1 second in IE6. The
same javascript code for event binding and DOM manipulation is run in
both cases (slightly less if you use a panel since there are less
elements to process).
I'm testing this on a XP virtual machine running in VMWare fusion on an
iMac, and browsing performance in that VM is normal for other sites.
I can give a login for a test environment that shows this problem if
someone wants to see this.
Wichert.
--
Wichert Akkerman <wic...@wiggy.net> It is simple to make things.
I'm afraid IE6 immediately bombs with an "object expexted" error while
loading the javascript.
I'm afraid IE6 immediately bombs with an "object expexted" error while
loading the javascript.
Hm, that's odd. I'll try to debug that later today or tomorrow.
I am also experiencing this issue with IE6 & 7. I do not have access
to a SVN client right now, is there a way I can get the latest code
without one?