我有一个页面有 6 dojox.charting.Chart2d 在所有浏览器中都能正常工作的图表 除了 IE。在 IE8 中,图表的加载时间超过一分钟。

分析显示,到目前为止,大部分时间都消耗在 dojo._getMarginBox: :57 个呼叫需要 48 到 66 秒。

  1. 还有其他人有这方面的经验吗?
  2. 还有其他人有什么建议吗(除了摆脱 IE,遗憾的是这不是一个选择)?
有帮助吗?

解决方案

好吧,我们把它挖出来了。问题是 dojo._getMarginBox 非常慢,每次调用大约 850 毫秒。当我忙着分析和寻找提示时,其他人查看了(诚然是很糟糕的)HTML 代码,并对其进行了清理,包括关闭一些未封闭的块等。

性能立即提高了约 5 倍。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top