Overview
Real-time charting requires:- Fast data addition and removal
- Efficient rendering
- Minimal memory allocation
- Optimized axis calculations
- Smart scrolling techniques
TFastLineSeries and various optimization settings.
FastLine Series
Basic Setup
AutoRepaint := False means points are displayed immediately after adding without redrawing the whole chart.
Source: FastLine_Realtime.pas:73
Performance Optimizations
Chart Configuration
FastLine_Realtime.pas:51
Series Optimizations
FastLine_Realtime.pas:86
DrawAllPoints
FastLine_Realtime.pas:197
Adding Real-Time Data
Continuous Addition
FastLine_Realtime.pas:107
Timer-Based Updates
ColorGrid_Realtime.pas:20
Loop-Based Updates
For maximum speed without timer overhead:FastLine_Realtime.pas:167
Scrolling Techniques
Delete and Scroll
When the chart fills up, delete old points and scroll the axis:FastLine_Realtime.pas:118
Fixed Window Scrolling
FastLine_Realtime.pas:64
ColorGrid Real-Time
For real-time heatmap/grid data:ColorGrid_Realtime.pas:45
ColorGrid Optimizations
ColorGrid_Realtime.pas:104
Memory Management
BeginUpdate/EndUpdate
Batch multiple additions:Clear Efficiently
Threading Support
Thread-Safe Updates
Performance Tips
Do’s
- Use TFastLineSeries for line charts
- Set AutoRepaint := False for real-time mode
- Disable XValues.Order (use loNone)
- Enable FastCalc for axes
- Use Delete(StartIndex, Count) to remove multiple points
- Hide unnecessary chart elements (title, legend, grids)
- Use BeginUpdate/EndUpdate for batch operations
- Set FastPen := True for solid pens
Don’ts
- Don’t use View3D for real-time (slower)
- Don’t enable ClipPoints (adds overhead)
- Don’t use gradients on series
- Don’t delete points in a loop (use batch delete)
- Don’t use AutoRepaint := True for real-time
- Don’t calculate stats on every addition
Benchmark Results
Typical performance on modern hardware:| Configuration | Points/Second |
|---|---|
| Optimized FastLine | 100,000+ |
| Standard Line | 10,000 |
| 3D Line | 5,000 |
| ColorGrid (optimized) | 50,000+ |
Example: Complete Real-Time System
Related Topics
Axes
Axis configuration and optimization
Series Types
FastLine and other series types
