Real-Time Charting and Speed

Two big rules apply to speed performance in real-time Charting:

1. Plot as few points as possible

2. Use the fastest possible hardware.

Together, these two rules really make a big speed difference when drawing Charts many times continuously.

Some other suggestions are:

- Use 2D. Three dimensional Charts are slower to paint than 2D.

- Make Charts small. Bigger Charts need more pixels to be filled.

- Remove Chart Legend and Titles when possible.

- Use default fonts and font sizes.

- Use FastLineSeries for fastest way to plot many points.

- Use solid pens and brushes styles.

- Avoid using circular shapes or circular bar styles.

- Don’t use background bitmaps or gradient fill effects.

- Set Chart BevelInner and BevelOuter properties to bvNone

- When possible, set Chart1.AxisVisible to False to remove axis.

- Set your video mode resolution and colour depth to the optimum values, according to your video card.

- A combination of 800x600 x 256 colours can be faster than 1024x768 x 32k colours, on average video cards.

BufferedDisplay

This public property controls how Charts are internally drawn. When True, the default, Charts are drawn into an internal hidden bitmap. When drawing is finished, this internal bitmap is transferred to the screen in one single operation. The result is non-flickering animation.

In some circumstances, setting BufferedDisplay to False can accelerate Chart redrawing. It depends on CPU and video card speed, and on the number of points plotted.

The bad news is that drawing directly to screen produces flickering, but can be helpful for really heavy redrawing applications.

When running tests try to use the same test project. Remember to use exactly the same data values in your tests with your real Charts. Use always the same number of points and the same point values when comparing speed results. Run the tests many times to obtain a fair statistical result and restart completely between tests.