Skip to main content
Performance is critical when working with large datasets or multiple charts. Highcharts provides several optimization techniques to ensure smooth rendering and interaction.

Performance Bottlenecks

Understand common performance issues:
  1. Large datasets - Thousands of data points
  2. Multiple series - Many series in one chart
  3. Complex calculations - Heavy data processing
  4. Frequent updates - Real-time data streaming
  5. Animations - Complex animation effects
  6. Markers and labels - Too many visual elements

Boost Module

The Boost module dramatically improves performance for large datasets by using WebGL rendering.

Installation

Configuration

When to Use Boost

Use the Boost module when you have:
  • More than 5,000 data points per series
  • Multiple series with thousands of points each
  • Real-time data streaming
  • Performance issues with standard rendering

Boost Limitations

The Boost module has some limitations:
  • No support for markers (they’re hidden automatically)
  • Limited animation support
  • Some interactive features may be reduced
  • Not compatible with all series types

Data Grouping

Data grouping reduces the number of points by combining them into groups.

Turbo Mode

Turbo mode skips expensive calculations for very large datasets:
Turbo mode disables some data validation and extremes calculation. Set to 0 to disable for critical applications.

Disable Animations

Animations consume CPU cycles:

Optimize Markers

Disable Markers

Use Smaller Markers

Reduce Shadow Effects

Shadows are expensive to render:

Optimize Tooltips

Shared Tooltips

Throttle Tooltip Updates

Efficient Data Updates

Update Single Points

Batch Updates

Streaming Data

Memory Management

Destroy Unused Charts

Clean Up Event Listeners

Limit Chart History

Reduce Reflows

Minimize DOM Access

Use redraw: false

Optimize CSS

Use Styled Mode

Lazy Loading

Load chart modules only when needed:

Web Workers

Offload data processing to web workers:

Performance Monitoring

Measure Redraw Time

Performance Checklist

1

Enable Boost Module

For datasets > 5,000 points:
2

Disable Unnecessary Features

3

Use Data Grouping

For time series data:
4

Batch Updates

5

Monitor Performance

Real-World Example

Optimized chart for 100,000 points:
This configuration can handle 100,000+ points at 60 FPS on modern hardware.

Troubleshooting

Chart Freezes on Large Data

  1. Enable Boost module
  2. Increase boostThreshold
  3. Use data grouping
  4. Reduce point density

Slow Updates

  1. Use setData(data, false) and manual redraw()
  2. Update only changed points
  3. Batch multiple updates
  4. Disable animations

High Memory Usage

  1. Destroy unused charts
  2. Limit data history
  3. Remove event listeners
  4. Clear references