Highcharts:使用boost

时间:2017-09-30 18:43:36

标签: javascript highcharts real-time

情景:

  1. 使用Highcharts普通图表,而不是Highstock
  2. 每个折线图至少有4个单独的图表
  3. 每个图表在10秒窗口中最多显示5,000个点
  4. 数据来自websocket,每秒250点,尽管数据来源的速率和数量(例如,每200毫秒50点对比每4毫秒1点)可以优化以适应如何最好地使用Highcharts
  5. 在离开10秒窗口之后,旧点被推开了
  6. 问题:

    1. 假设这是使用的理想方案是否正确 Highcharts提升模块以提高性能?或者是 数据更新的速度与增强效果不相符?
    2. 是否有现有的Highcharts示例小提琴或钢笔近似于我所描述的场景(例如,使用客户端生成的模拟数据)并使用升压模块?
    3. 您是否可以通过Highcharts在此处实施任何其他建议?

1 个答案:

答案 0 :(得分:1)

我准备了一个简单的性能测试。我每隔3秒使用printf函数更新一个包含5000个随机生成点的图表。您可以在此处找到传递给此函数的参数的说明:http://api.highcharts.com/highcharts/Series.setData

使用升级模块的性能 http://jsfiddle.net/kkulig/7u6ozqg8/

我的电脑输出:

setData

没有升压模块的性能 http://jsfiddle.net/kkulig/gLehoqp5/

我的电脑输出:

time with boost: 189.785888671875ms
time with boost: 109.576904296875ms
time with boost: 159.59326171875ms
time with boost: 75.766845703125ms
time with boost: 132.65625ms
time with boost: 174.887939453125ms
time with boost: 41.648193359375ms
time with boost: 54.340087890625ms
time with boost: 72.6669921875ms

<强>答案

  • 问题1&amp; 2 - 如上例所示,升级模块似乎适用于这种情况。
  • 问题3 - 始终了解用于更新图表的功能的工作原理(从API中读取说明)。