【问题标题】:MSIE 8 performance issues with dojo charting: dojo._getMarginBoxdojo 图表的 MSIE 8 性能问题:dojo._getMarginBox
【发布时间】:2010-07-13 16:55:26
【问题描述】:
我有一个包含 6 个dojox.charting.Chart2d 图表的页面,可以在所有浏览器除了 IE 中正常工作。在 IE8 中,加载图表需要一分钟多的时间。
分析显示,到目前为止,dojo._getMarginBox 消耗了大部分时间:57 次调用需要 48 到 66 秒。
- 其他人有这方面的经验吗?
- 还有其他人有什么建议吗(除了摆脱 IE,遗憾的是这不是一个选项)?
【问题讨论】:
标签:
internet-explorer-8
dojox.charting
【解决方案1】:
好的,我们把它挖出来了。问题是 dojo._getMarginBox 非常慢,大约 850 毫秒/调用。当我忙于分析和寻找提示时,其他人去了(诚然粗鲁的)HTML 代码,并清理了它,包括关闭一些未关闭的块等。
性能立即提高了大约 5 倍。
现在的工作假设是,如果 IE8 必须处理非规范的 DOM 树,IE8 在查找封闭框方面是一堆垃圾。
这也提高了 Chrome 和 Firefox 的性能,至少在 LINUX 上是这样。