1

我有一个包含 6 个图表的页面,可以在IE之外dojox.charting.Chart2d的所有浏览器中正常工作。在 IE8 中,加载图表需要一分钟多的时间。

分析表明,到目前为止,大部分时间都被消耗dojo._getMarginBox:57 次调用需要 48 到 66 秒。

  1. 有没有其他人有这方面的经验?
  2. 有没有其他人有任何建议(除了摆脱 IE,遗憾的是这不是一个选择)?
4

1 回答 1

1

好的,我们挖出来了。问题是 dojo._getMarginBox 非常慢,大约 850 毫秒/调用。当我忙于分析和寻找提示时,其他人去了(诚然粗糙的)HTML 代码,并清理了它,包括关闭一些未关闭的块等。

性能立即提高了大约 5 倍。

现在的工作假设是 IE8 是一堆垃圾如果必须处理非规范的 DOM 树,则查找封闭框的效率很低。

这也提高了 Chrome 和 Firefox 的性能,至少在 LINUX 上是这样。

于 2010-07-15T02:40:24.190 回答