Javascript AMCHART4比3慢得多

Javascript AMCHART4比3慢得多,javascript,performance,amcharts,amcharts4,Javascript,Performance,Amcharts,Amcharts4,很长一段时间以来,我一直在使用Amcharts3。出于许多原因,我目前正在重写我的应用程序并“升级”各种内容,因此升级AmCharts也是有意义的 只是它太慢了 这把小提琴: https://jsfiddle.net/jhartnoll/e1g25y8v/ 这里我有一组图表,显示了12个月内5个地点的发货收据,所以有60个数据点 如果单击每个按钮,它将分别使用Amcharts 3和Amcharts 4的相同数据和几乎相同的配置呈现图表 首先,Amcharts 4做任何事情都要慢得多,点击按钮几

很长一段时间以来,我一直在使用Amcharts3。出于许多原因,我目前正在重写我的应用程序并“升级”各种内容,因此升级AmCharts也是有意义的

只是它太慢了

这把小提琴:

https://jsfiddle.net/jhartnoll/e1g25y8v/
这里我有一组图表,显示了12个月内5个地点的发货收据,所以有60个数据点

如果单击每个按钮,它将分别使用Amcharts 3和Amcharts 4的相同数据和几乎相同的配置呈现图表

首先,Amcharts 4做任何事情都要慢得多,点击按钮几秒钟后,任何事情都会显示出来

其次,当它确实显示我的时间记录的工作方式时,它表明Amcharts4上的“ready”事件在加载所有图表之前不会被触发。这一定与它的雏菊链图表的方式有关

当然,与事件的绑定略有不同:

   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
   }]
事件:{
“就绪”:功能(ev){
var total=performance.now()-start;
$(“#发货收据”)。追加($(“”)。文本(“take:“+total+”ms”))
log(“图表”+名称+“就绪”,);
}
}
“听众”:[{
“事件”:“已呈现”,
“方法”:handleRender
}]
这是一个管理仪表板,它将显示这个加上大约4个其他图表,它不仅会导致在启动时加载空白框,而且在编写这些图表时似乎还会占用浏览器一秒钟左右

我一直对AmCharts印象深刻,所以我不敢相信我在这里看到的是正确的——我一定是做错了什么,但到目前为止我已经在上面浪费了两天时间,无论我做什么,它总是极其缓慢

有什么想法吗

编辑/更新:

我把这里建议的
createDeferred
函数搞砸了:

新的JSFIDLE在这里:

虽然这提供了稍微好一点的用户体验,但我仍然对每个图表的渲染速度感到失望