0

我正在编写一个使用 Highcharts 的应用程序,在一个实例中,我希望在图表底部有一个“滑块”,在图表上垂直向上延伸。移动滑块将根据用户在图表上移动滑块的位置更新页面的其他部分。

问题是当在 Highchart(图像或 div)上绘制任何东西时,性能变得绝对不可接受。滑块根本无法跟上鼠标的移动请在此处查看 jsfiddle。注意 - 这仅在处理大量数据点时发生(在我的情况下这绝对是不可避免的)。

除了不在图表顶部绘制之外,我能做些什么吗?

4

2 回答 2

1

我怀疑缓慢是因为当 div 滑过它时,浏览器必须重新绘制图表(无论是整体还是部分)。使用大量数据集来重新绘制图表,这变得非常缓慢。

有解决方案,但并非所有解决方案总是可以接受的:

  • 您可以尝试通过以较低的速率对其进行采样来减少数据集中的点数。
  • 您可以尝试开窗,以便查看器仅显示整个集合中的一个范围。例如,如果您有 10,000 个数据点,您的窗口可以沿着数据集滑动,一次只显示 1,500 个点,而不是全部 10,000 个点。
  • 转向不同的技术,例如 Flash 或 Silverlight。

但是,就像我说的那样,并非所有这些甚至其中任何一个都对您有用。

于 2012-06-08T15:42:55.880 回答
0

我注意到,当您在图表上拖动滑块时,它仍然会突出显示数据点。您可能应该在拖动滑块时在图表的该部分设置指针事件:无,这将允许浏览器不检查该子树中的指针事件(如果您有很多数据点可能会有些昂贵,特别是如果您在悬停时更新这些元素)。

于 2012-06-11T08:46:28.743 回答