问题描述
很长一段时间以来,我一直在使用 Amcharts3。出于多种原因,我目前正在重写我的应用程序并“升级”各种东西,因此升级 AmCharts 也是有意义的。
除了它太慢....
这个小提琴:
https://jsfiddle.net/jhartnoll/e1g25y8v/
这里我有一组图表,显示了 5 个地点在 12 个月内的发货收据,因此有 60 个数据点。
如果您单击每个按钮,它将分别使用相同的数据和几乎相同的 Amcharts 3 和 4 配置呈现图表。
首先,Amcharts 4 做任何事情的速度要慢得多,点击按钮几秒钟后,任何东西都没有显示出来。
其次,当它显示时,我的时间记录工作方式表明 Amcharts4 上的“就绪”事件在加载所有图表之前不会触发。这一定与它菊花链图表的方式有关。
当然对事件的绑定略有不同:
events: {
"ready": function(ev) {
var total = performance.Now() - start;
$("#shippingReceipts").append($("<div/>").text("took: " + total + "ms"))
console.log("chart_" + name + " ready",);
}
}
"listeners": [{
"event": "rendered","method": handleRender
}]
这是一个管理仪表板,它将显示这个以及大约 4 个其他图表,它不仅会在启动时导致加载空白框,而且在编写这些图表时似乎还会占用浏览器一秒钟左右.
我一直对 AmCharts 印象深刻,所以不敢相信我在这里看到的是正确的 - 我一定是做错了什么,但到目前为止我已经浪费了两天时间,无论我做什么,它总是拼命慢!
有什么想法吗?
编辑/更新:
我弄乱了此处建议的 createDeferred
函数:https://www.amcharts.com/docs/v4/concepts/performance/#Deferred_daisy_chained_instantiation
这里有新的 jsfiddle:
https://jsfiddle.net/jhartnoll/4587a0q3/
虽然这提供了稍微好一点的用户体验,但我仍然对每个图表的渲染速度感到失望。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)