Dojo 图表的 MSIE 8 性能问题:dojo._getMarginBox
-
15-09-2020 - |
题
我有一个页面有 6 dojox.charting.Chart2d
在所有浏览器中都能正常工作的图表 除了 IE。在 IE8 中,图表的加载时间超过一分钟。
分析显示,到目前为止,大部分时间都消耗在 dojo._getMarginBox
: :57 个呼叫需要 48 到 66 秒。
- 还有其他人有这方面的经验吗?
- 还有其他人有什么建议吗(除了摆脱 IE,遗憾的是这不是一个选择)?
解决方案
好吧,我们把它挖出来了。问题是 dojo._getMarginBox 非常慢,每次调用大约 850 毫秒。当我忙着分析和寻找提示时,其他人查看了(诚然是很糟糕的)HTML 代码,并对其进行了清理,包括关闭一些未封闭的块等。
性能立即提高了约 5 倍。
现在的工作假设是 IE8 一堆垃圾 如果必须处理非规范 DOM 树,则查找封闭框的效率很低。
这也提高了 Chrome 和 Firefox 的性能,至少在 LINUX 上是这样。
不隶属于 StackOverflow