JavaScript charts 3D performance comparison, LightningChart JS v.2.1 – v.2.2

We made a JavaScript charts 3D performance comparison between new version of LightningChart JS and the previous release (v.2.1.). Performance was measured in an application where new data is added on each frame. The amount of data added on each frame is controlled so that the number of frames rendered per second is roughly 60 (FPS = 60). Thus, the performance indicator is “how many data points can be added each second”, the higher the better.

The performance test application source code is published in GitHub

The performance test application is hosted in Arction GitHub

1. Low end machine A (Lenovo Yoga 530):

CPU: Intel i7-8550U 1.80 GHz
GPU: Intel UHD Graphics 620
RAM: 8 GB
Display: 1920 x 1080, 60 Hz

2. High end machine A:

CPU: AMD Ryzen 5 3600X 3.80 GHz
GPU: GeForce RTX 2070 (EVGA XC Ultra Gaming, 8GB GDDR6)
RAM: 16 GB DDR4 @ 3200 MHz
Display: 1440P 144Hz monitor.

1. Low end machine A (Lenovo Yoga 530):

CPU: Intel i7-8550U 1.80 GHz
GPU: Intel UHD Graphics 620
RAM: 8 GB
Display: 1920 x 1080, 60 Hz

2. High end machine A:

CPU: AMD Ryzen 5 3600X 3.80 GHz
GPU: GeForce RTX 2070 (EVGA XC Ultra Gaming, 8GB GDDR6)
RAM: 16 GB DDR4 @ 3200 MHz
Display: 1440P 144Hz monitor.

Point Series 3D

Shape = ‘sphere’ (most complex geometry available).

Measurements:

LCJS 2.1:

  • Low end machine A:
    40 points / second
  • High end machine A:
    150 points / second

LCJS 2.2:

  • Low end machine A:
    6 000 points / second (150x faster)
  • High end machine A:
    108 000 points / second (720x faster)

Analysis on performance gain: Point Series 3D benefits massively from having a strong GPU.

LightningChart JS - PointSeries3D

Line Series 3D

Measurements:

LCJS 2.1:

  • Low end machine A:
    30 points / second
  • High end machine A:
    60 points / second

LCJS 2.2:

  • Low end machine A:
    1500 points / second (50x faster)
  • High end machine A:
    67 000 points / second (1116x faster)

Analysis on performance gain: Line Series 3D benefits massively from having a strong GPU, several times more so than Point Series 3D.

LightningChart JS - LineSeries3D

Point Series 3D

Not to be confused with Point Series 3D, Point Cloud Series has no geometry and only renders 2D pixels! For this reason, it is significantly faster than Point Series 3D.

Point Cloud Series 3D is only included so that we can include the absolute maximum number of “points” per second that can be rendered with LCJS – there is no comparison to 2.1 performance.

Measurements:

LCJS 2.2:

  • Low end machine A:
    65 000 points / second
  • High end machine A:
    504 000 points / second
LightningChart JS PointCloudSeries3D

Results breakdown

LightningChart JS v2.2 significantly upgrades the performance of 3D Point and Line Series (up to 1116x faster processing and rendering!), enabling data-visualization applications with massive rates of incoming live data.

Point Series 3D can now process real-time data at a speed of 100 000 data points per second rendered as detailed sphere geometry, or even up to 504 000 data points per second rendered as 2D squares.

Line Series 3D can now process real-time data at a speed of over 60 000 data points per second rendered as detailed cylinder line segments and smooth joints.

Complete performance measurement data:

  • Point Series 3D, high end PC 100 000 data points / second, low end PC 6 000 data points / second.
  • Point Cloud Series 3D, high end PC 504 000 data points / second, low end PC 65 000 data points / second.
  • Line Series 3D, high end PC 67 000 data points / second, low end PC 1 500 data points / second.