我使用highcharts创建大型热图。它工作正常,但是当有大量记录生成热图时。在这种情况下,它会冻结broswer,并且broser会显示警报等待或结束页面。我在Stackoverflow上看到过其他一些答案,它建议将计算算法改为可以迭代调用的东西,然后使用timeout(),但是我不能在我的场景中使用它,我该如何让高轮渲染迭代?使用highcharts创建大型热图冻结浏览器
如何防止它冻结浏览器?
我使用highcharts创建大型热图。它工作正常,但是当有大量记录生成热图时。在这种情况下,它会冻结broswer,并且broser会显示警报等待或结束页面。我在Stackoverflow上看到过其他一些答案,它建议将计算算法改为可以迭代调用的东西,然后使用timeout(),但是我不能在我的场景中使用它,我该如何让高轮渲染迭代?使用highcharts创建大型热图冻结浏览器
如何防止它冻结浏览器?
Highcharts有很多循环来呈现数据,所以我发现的唯一可能性是减少了加载的数据量。加载10MB +(通常已经在3-4MB)的数据导致几乎每个浏览器都冻结。
我有一个类似的问题与大型数据集(15个数据点10个月系列的月份)。我在查看整个数据集时所做的是服务器端数据聚合(4小时平均值)。上变焦我通过Ajax,但只是为了与afterSetExtremes事件可视区域内的实际15分钟的数据点:
events: {
afterSetExtremes: 'function(event) {
if(typeof event.userMin == "undefined")
{ var a={"min": null, "max": null}; }
else
{ var a={"min": event.min, "max": event.max}; }
$.ajax({url:"/user/analyze/intval", method: "POST",
data: a, dataType: "json"}).success(function(json)
{ //update series here }'
}
我使用typeof事件,以确定是否使用了变焦复位(再得到初步汇总数据)
我觉得类似的东西也应该可以解决你的问题。问问你自己,这有助于获得这么多的数据吗?即使原始数据被严重聚合(因子4-6),通常可见差异也接近于零。
你能提供演示吗? – Brewal 2014-09-29 12:21:50
为什么你不能在你的场景中使用它? – 2014-09-29 12:27:26
@Brewal:我正在尝试创建演示 – 2014-09-29 12:30:32