LightningChart JS Performance Tester Results
September, 2020 Page 1 / 13
Introduction
The Performance Tester results were composed of 8 different chart series with a variety of
devices. which include desktops. laptops. tablet. and smartphone. The browsers were set to
full screen and charts to simplest appearance. All the results come from performance tester
on 23rd of September 2020 with the newest browser versions. With this performance tester
platform. we can run tests in various cases emulating real-world use cases.
Device hardware. operating system and browser info
Desktop PC
- CPU: AMD Ryzen 2700X Eight-Core Processor
- RAM: 16.0 GB
- GPU: NVIDIA GeForce GTX 1070
- Screen Resolution: 1920x1080
- Screen Refresh Rate: 60Hz
- Browser: Chrome full version 85.0.4183.102
- Operating system: Windows 10 64-bit OS
Laptop
- CPU: Intel® Core™ i5 3210M
- RAM: 8.0 GB
- GPU: NVIDIA GeForce 610M
- Screen Resolution: 1600x900
- Screen Refresh Rate: 60Hz
- Browser: Chrome full version 85.0.4183.102
- Operating system: Windows 10 64-bit OS
LightningChart JS Performance Tester Results
September, 2020 Page 2 / 13
OnePlus 7Pro
- SoC : Qualcomm Snapdragon 855
- RAM: 8.0 GB
- GPU: Adreno 640
- Screen Resolution: 3120x1440
- Screen Refresh Rate: 90Hz
- Browser: Chrome full version 85.0.4183.101
- Operating system: Oxygen OS 10.0.7.GM21BA
iPad Air 2
- SoC : Apple A8X
- RAM: 2.0 GB
- GPU: PowerVR GXA6850
- Screen Resolution: 2048x1536
- Screen Refresh Rate: 60Hz
- Browser: Safari full version 13.0.5
- Operating system: iOS 13.3.1
Performance Test Legend
Average FPS
FPS was measured by using JavaScript API: window.requestAnimationFrame starting from
after Chart is first loaded and until the test is completed.
Load up
Delay between initiating Chart creation to first rendered frame is measured. This logic relies
on window.requestAnimationFrame too. For static tests this delay also includes the
processing and rendering of all the data.
Data generation delay
Performance tests generate random test data. This processing time is data generation delay.
LightningChart JS Performance Tester Results
September, 2020 Page 3 / 13
Test result 1-Scatter Series
A data array is generated and passed to each chart rendering delay is measured. All charts
are set to equal size. and simplest possible appearance.
The data points were generated in random positions on the chart. Test was aborted if the
chart was unable to render specified data amount in 1 minute.
Figure 1-Scatter Series
Scatter Series
Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy scatter Series 1px 1k 60.3 47.1 85.1 88,5
xy scatter Series 1px 10k 60.3 43.5 88.8 87,2
xy scatter Series 1px 50k 60.3 33.6 83.1 70
xy scatter Series 1px 100k 60 27 70.6 46,7
xy scatter Series 7px 1k 60.2 46 89.5 88,7
xy scatter Series 7px 10k 60.2 27.4 88.2 87,5
xy scatter Series 7px 50k 60.3 9.1 84.4 62,4
xy scatter Series 7px 100k 59.9 5.1 70.9 33,4
LightningChart JS Performance Tester Results
September, 2020 Page 4 / 13
Test result 2- Point. Line and Area Series
A data array is generated and passed to each chart and rendering delay is measured. All
charts were set to equal size. and simplest possible appearance.
Series types in the test are: Point. Line and Area. The data point was generated in random
positions on the chart. Test was aborted if the chart was unable to render specified data
amount in 1 minute.
Figure 2-Scrolling Line Series
LightningChart JS Performance Tester Results
September, 2020 Page 5 / 13
Scrolling Line Series
Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy scrollingLineSeries 1xSeries thin 1k 60.5 41.7 90.1 79,9
xy scrollingLineSeries 1xSeries thin 10k 60.4 25.6 88.7 79
xy scrollingLineSeries 1xSeries thin 100k 60.5 17.6 88.3 78,1
xy scrollingLineSeries 1xSeries thin 1M 60.5 13.5 88.7 66,8
xy scrollingLineSeries 1xSeries thin 10M 59.9 11 37.5 80
xy scrollingLineSeries 1xSeries thick 1k 60.4 42.1 89 80,1
xy scrollingLineSeries 1xSeries thick 10k 60.6 25.3 88.7 78,8
xy scrollingLineSeries 1xSeries thick 100k 60.5 24.3 88.5 72,6
xy scrollingLineSeries 1xSeries thick 1M 60.4 24.2 87.8 52,6
xy scrollingLineSeries 1xSeries thick 10M 60.1 15.6 51.9 50,3
xy scrollingLineSeries 5xSeries thin 1k 60.6 31.8 86.2 46,5
xy scrollingLineSeries 5xSeries thin 10k 60.5 21.8 80.1 52,4
xy scrollingLineSeries 5xSeries thin 100k 60.5 15 84.1 52,2
xy scrollingLineSeries 5xSeries thin 1M 60.6 11.1 71 47,4
xy scrollingLineSeries 5xSeries thick 1k 60.5 29.7 86.1 34,8
xy scrollingLineSeries 5xSeries thick 10k 60.4 21.9 82.4 33,4
xy scrollingLineSeries 5xSeries thick 100k 60.6 19.7 83.8 29,6
xy scrollingLineSeries 5xSeries thick 1M 60.4 17.8 71.8 34,7
xy scrollingLineSeries 10xSeries thin 1k 60.4 20.2 69.6 34
xy scrollingLineSeries 10xSeries thin 10k 60.6 16.6 66 30,6
xy scrollingLineSeries 10xSeries thin 100k 60.2 12.9 58.1 79,9
xy scrollingLineSeries 10xSeries thin 1M 59.8 9.5 36 79
xy scrollingLineSeries 10xSeries thick 1k 60.5 20.1 69.5 78,1
xy scrollingLineSeries 10xSeries thick 10k 60.5 17.4 57.8 66,8
xy scrollingLineSeries 10xSeries thick 100k 60.4 15.1 64.5 80
xy scrollingLineSeries 10xSeries thick 1M 60.2 13.1 36.4 80,1
LightningChart JS Performance Tester Results
September, 2020 Page 6 / 13
Figure 3-Static Line Series
StaticLineSeries
Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy staticLineSeries 1xSeries thin 1k 59,9 50.5 87.6 54,4
xy staticLineSeries 1xSeries thin 10k 59,8 42.6 87.8 53,2
xy staticLineSeries 1xSeries thin 100k 59,7 34.2 80.7 51,8
xy staticLineSeries 1xSeries thin 1M 57 29.8 68 31,1
xy staticLineSeries 1xSeries thin 10M 32,6 24.8 37.2 15
xy staticLineSeries 1xSeries thick 1k 60,5 48.5 86.9 54,4
xy staticLineSeries 1xSeries thick 10k 59,2 40.4 71.7 48,6
xy staticLineSeries 1xSeries thick 100k 52,5 35 78.2 45,1
xy staticLineSeries 1xSeries thick 1M 52,9 32.1 62 28,3
xy staticLineSeries 1xSeries thick 10M 30 23 32.4 12,2
xy staticLineSeries 5xSeries thin 1k 60,6 41.2 84.7 38,8
xy staticLineSeries 5xSeries thin 10k 59,5 27.3 71.7 36,3
xy staticLineSeries 5xSeries thin 100k 55,9 29.6 59.9 23,4
xy staticLineSeries 5xSeries thin 1M 33,5 24.8 32.4 11,9
xy staticLineSeries 5xSeries thick 1k 59,7 39.2 84.7 35
xy staticLineSeries 5xSeries thick 10k 49,5 33.4 71.7 27,5
xy staticLineSeries 5xSeries thick 100k 36,7 22.3 59.9 21,7
xy staticLineSeries 5xSeries thick 1M 24,8 17.9 37.2 14,5
LightningChart JS Performance Tester Results
September, 2020 Page 7 / 13
xy staticLineSeries 10xSeries thin 1k 59,6 35.1 74.6 31
xy staticLineSeries 10xSeries thin 10k 58,3 30.9 69 27,1
xy staticLineSeries 10xSeries thin 100k 48,4 28.2 42.8 19,2
xy staticLineSeries 10xSeries thin 1M 23,2 15.8 23.2 9,9
xy staticLineSeries 10xSeries thick 1k 58,8 34 60.3 25,8
xy staticLineSeries 10xSeries thick 10k 40,7 29.8 47.1 20,7
xy staticLineSeries 10xSeries thick 100k 23,9 18.2 27.1 16,2
xy staticLineSeries 10xSeries thick 1M 16,7 15.5 20.9 9,3
Figure 4-Scrolling Area Series
Scrolling Area Series Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy scrollingAreaSeries 1xSeries 1k 60.5 33.2 89 79,5
xy scrollingAreaSeries 1xSeries 10k 60.4 24.5 87.4 74,2
xy scrollingAreaSeries 1xSeries 100k 60.5 11.1 82.4 35,6
xy scrollingAreaSeries 1xSeries 1M 59.5 5.2 10.1 6,6
xy scrollingAreaSeries 5xSeries 1k 60.5 27.4 85.3 50,3
xy scrollingAreaSeries 5xSeries 10k 60.4 18.9 78.8 42,2
xy scrollingAreaSeries 5xSeries 100k 60.3 9 54.5 17,1
LightningChart JS Performance Tester Results
September, 2020 Page 8 / 13
Figure 5-Scrolling Point Line Series
Scrolling Point Line Series Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy scrollingPointLineSeries 1xSeries 1k 60.5 42.5 88.8 79,1
xy scrollingPointLineSeries 1xSeries 10k 60.4 26.7 86.6 79,4
xy scrollingPointLineSeries 1xSeries 100k 60.4 11.2 79.9 35,6
xy scrollingPointLineSeries 1xSeries 1M 60.5 5.2 14.3 5,9
xy scrollingPointLineSeries 5xSeries 1k 60.4 31.8 86.5 50,5
xy scrollingPointLineSeries 5xSeries 10k 60.4 20.7 78.4 43,7
xy scrollingPointLineSeries 5xSeries 100k 60.4 7.9 49.5 13,9
LightningChart JS Performance Tester Results
September, 2020 Page 9 / 13
Figure 6-Spline Series
Spline Series
Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy splineSeries 1xSeries 100 60,3 44.3 88.4 87,1
xy splineSeries 1xSeries 1k 60,3 38.3 89.1 85,7
xy splineSeries 1xSeries 10k 59,8 28.1 85.7 79,1
xy splineSeries 5xSeries 100 60 33.4 84.4 51,6
xy splineSeries 5xSeries 1k 59,5 28.1 71.3 47,2
xy splineSeries 5xSeries 10k 59,1 18.9 53.3 21,5
LightningChart JS Performance Tester Results
September, 2020 Page 10 / 13
Test result 3- OHLC Series
A data array is generated and passed to each chart rendering delay is measured. All charts
are set to equal size. and simplest possible appearance.
OHLC series supports OHCL data input (Open-High-Low-Close). and XY input (time and
value). Both were tested. Test was aborted if the chart was unable to render specified data
amount in 1 minute.
Figure 7-OHLC series
OHLC Series Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
xy ohlc ohlcInput candlesticks 100 59,7 60.1 77.1 63,2
xy ohlc ohlcInput candlesticks 1k 60,1 59.7 83.1 62,9
xy ohlc ohlcInput candlesticks 10k 60,2 60.1 80.9 61,7
xy ohlc ohlcInput candlesticks 100k 60,3 59.9 81.1 61,9
xy ohlc ohlcInput candlesticks 1M 59,3 58.4 52.5 28,1
xy ohlc xyInput candlesticks 100 60,1 60.4 77.3 61,5
xy ohlc xyInput candlesticks 1k 60,1 60.3 84 63
xy ohlc xyInput candlesticks 10k 60,1 58.7 79.6 63,8
xy ohlc xyInput candlesticks 100k 60,1 60.1 82.7 63,8
xy ohlc xyInput candlesticks 1M 60,3 58.9 81.8 61,9
LightningChart JS Performance Tester Results
September, 2020 Page 11 / 13
xy ohlc xyInput candlesticks 10M 58 46.8 42.9 38,2
xy ohlc fitData candlesticks 100 60,1 34.6 84.6 44,9
xy ohlc fitData candlesticks 1k 56,6 29.7 80.3 40,6
xy ohlc fitData candlesticks 10k 56,9 29 79.1 39,9
xy ohlc fitData candlesticks 100k 55,6 28.4 83.3 31,9
xy ohlc fitData candlesticks 1M 55,2 28.8 56.8 7,3
LightningChart JS Performance Tester Results
September, 2020 Page 12 / 13
Test result 4 - Dashboard cells resizing
Dashboard allows layout management and efficient resizing and rendering of dozens or
even up to 100 charts.
In the test. resizing of the charts inside a Dashboard control was tested. by using various
chart and cell counts. Each chart was added one-line series with static data. Test was
aborted if the chart was unable to render specified data amount in 1 minute.
Figure 8-Dashboard cells
Dashboard Cells Device Desktop PC Laptop OnePlus 7Pro iPad Air 2
Average FPS Average FPS Average FPS Average FPS Average FPS
Browser Chrome Chrome Chrome Safari
dashboard 2x2 60 46.2 57.7 38,9
dashboard 2x4 59,3 38.5 48.9 25,5
dashboard 3x3 52,2 40.8 55.1 24
dashboard 5x5 39,2 25.6 41.1 26
LightningChart JS Performance Tester Results
September, 2020 Page 13 / 13
Conclusion
In summary, LightningChart JS is a cross-platform web charting library, which can be run on
most common platforms – including Microsoft Windows, MacOS, Linux, iOS and Android.
JavaScript web charting performance has moved into a new level with LightningChart JS and
its GPU acceleration. It gives excellent performance in various visualizations and is capable
of handling hundreds of thousands of data points in low-end mobile devices. With high-end
mobile devices or desktop PC’s up to millions of data points.
In Dashboard cell resizing the LightningChart JS is an industry superlative: Rendering dozens
or even 100+ charts simultaneously.