views:

11

answers:

1

I have a page with 6 dojox.charting.Chart2d charts that works fine in all browsers except IE. In IE8, the charts take more than a minute to load.

Profiling shows that by far the majority of the time is being consumed by dojo._getMarginBox: 57 calls takes between 48 and 66 seconds.

  1. Has anyone else got experience with this?
  2. Has anyone else got any suggestions (besides get rid of IE, which sadly is not an option)?
A: 

Okay, we dug it out. The issue was that dojo._getMarginBox was wicked slow, about 850 ms/call. While I was busily profiling and looking for hints, someone else went the the (admittedly crufty) HTML code, and cleaned it up, including closing some unclosed blocks and the like.

Performance instantly improved by a factor of about 5.

The working hypothesis now is that IE8 is a pile of garbage inefficient at finding the enclosing box if it has to deal with non-canonical DOM trees.

This also improved the performance in Chrome and Firefox, at least on LINUX.

Charlie Martin