LightningChart-Net-Logo

LightningChart® .NET Performance Test Results:

SampleDataBlockSeries VS SampleDataSeries

Introduction to the Test: video demonstration

SampleDataBlockSeries is a super-fast line series introduced in the release of LightningChart .NET v.10.1.1. In this line series, the data is stored as memory blocks that dispose of the old data and append new data, easier on memory and CPU.

Since LightningChart v.1, there have been SampleDataSeries with a linear memory array. Both series types are made for fixed-interval data monitoring, used typically in waveform visualization, e.g., medical monitoring (ECG/EKG, EEG, EMG, ExG), vibration monitoring, telemetric and data logger systems, and the audio engineering industry.

SampleDataBlockSeries rendering scientific data visualization algorithms were designed to take better benefit from GPU computation power, freeing up more CPU resources for other processes and tasks.

In the next video, you can take a look at SampleDataBlockSeries:

High-Performance Test Application

The following brief test compares these two high-performance line series in practical tests. This scientific data visualization test was performed with a standalone SampleDataBlockSeries demo application.
Standalone SampleDataBlockSeries demo application
The application consists of a header bar, and the test application allows opening dozens of chart windows. The data rate is adjustable, starting from 1000 Hz (1000 data points/sec) for each series. Each window can be opened with a preferred series count between 10… 2000.

The data read from a .CSV file consisted of real ECG, EEG, and then random data every 3rd series.

The chart windows can be set to the ‘Sweeping’ real-time scrolling mode:

Sweeping-Mode-Window
Sweeping mode window
In the following image, the main focus is on the scrolling mode. The X-axis length was set to hold 10 seconds of data. The line width was set to 1.5.
Scrolling mode window
Scrolling mode window

Device Hardware & Operating System Specifications

desctop monitor
Mid-Level Desktop PC
SoC/CPU RAM GPU Screen Resolution Screen Refresh Rate Browser Operating system
AMD Ryzen 7 2700X 64.0 GB NVIDIA GeForce GTX 1070 1920x1080 60Hz Chrome version 75.0 Windows 10 64-bit OS

Performance Test Legend

The test was performed in two modes:

  • CPU-saving mode
  • High-FPS mode

Criteria Measured

FPS

A higher value of frames/sec. is better.

RAM Consumption

Measured in MB. A lower value is better.

CPU Load

Measured in %. A lower value is better.

Standard Deviation

Refreshes measured in milliseconds. A lower value is better and indicates a smoother data-scrolling experience, with less twitching or stuttering.

Delay in Refreshes

The delay between refreshes was measured in milliseconds. A lower value is better.

Outcomes & Results of the Test

The test results were collected in the next table and each cell was colored based on their meaning for the specific parameter.

Green = Good. Yellow = satisfactory. Red = struggling

Test Results
The CPU column was left without a color as its load depends on the preferred frame rate (more about this later).

Analysis of the Test Results

By visually comparing the previous color-coded results, we can already see SampleDataBlockSeries performing significantly better than SampleDataSeries, which has more red color all over the table.

However, by looking at the following table based on the test results, it is possible to compare how many times the SampleDataBlockSeries are better than the SampleDataSeries.

Test Results Comparison
  • In RAM consumption, up to 8.6 times better.
  • In FPS (CPU-saving mode), up to 60 times better.
  • In FPS (High-FPS mode), up to 51 times better.
  • In Standard deviation of refresh intervals (CPU-saving mode), up to 128 times better.
  • In Standard deviation of refresh intervals (High-FPS mode), up to 167 times better.
  • In longest refresh interval durations (CPU-saving mode), up to 54 times better.
  • In longest refresh interval durations (High-FPS mode), up to 84 times better.

Commonly in all tests, the CPU load is lower than with the SampleDataSeries, yet keeping the refresh rate higher. Finally, we can calculate how many times more CPU efficient SampleDataBlockSeries is when we relate it to the FPS rate.

  • In CPU-saving mode, CPU efficiency is up to 42 times better.
  • In High-FPS mode, CPU efficiency is up to 51 times better.

Additional Test & Its Results

Out of curiosity, we can test how many 100-series we can open, so they still refresh around 30 FPS.
For SampleDataBlockSeries, we can open simultaneously 44 windows.
44 Sample DataBlockSeries windows
44 SampleDataBlockSeries windows

For SampleDataSeries, we can only open 4 windows simultaneously.

4 SampleDataBlockSeries windows
4 SampleDataBlockSeries windows
In conclusion, 11 times more windows than with the SampleDataSeries.

Further Performance Information

By using a billion data points example, it is possible to visualize up to 16 billion data points with the SampleDataBlockSeries, whereas the SampleDataSeries capacity is limited to 8 billion data points with the implemented 64 GB system memory.

Conclusion of the Test

The SampleDataBlockSeries is the optimal scientific data visualization series type to visualize scrolling/sweeping real-time data.

With very low variations in refresh intervals, it provides a smooth monitoring experience which is much better than SampleDataSeries.

Additionally, the SampleDataBlockSeries uses less RAM and CPU resources, provides a higher FPS rate and a significantly better responsiveness to user interactions.

Get the full performance test results document.

Full report (PDF)

Download the SampleDataBlockSeries demo

Download Demo

LightningChart vs. SciChart

See comparison