I'm working on a cross-platform mobile application through MoSync. Regarding a JavaScript chart for displaying data come from Bluetooth in the mobile device, I need a JavaScript chart API which has a very high rendering speed and performance. It should be fast enough to draw/redraw/update the chart as the data will be injected to the Webview. AFAIK from testing couple of APIs, data injection reduce the speed in the mobile applications. FFI, following points could be helpful to show how fast the chart should be in order to run smoothly in the application.
- Update: every 500ms or possibly 250ms
- New data per update: three arrays with size 50 for three series
- Data traverse (from Bluetooth to chart API): c++ >> UI (HTML) >> WebView >> chart API
Note that I am aware of tons of available JavaScript chart APIs, however I need a piece of advice which has considered the explained situation.
Here is another High Performance Charting Library called CanvasJS
It renders over 100,000 datapoints in 100-200ms. Because it is based on Canvas, it works on most modern devices.
I've had excellent experiences with the Highcharts charting library with large datasets (up to 10000 points). It uses SVG and VML for rendering, which is much faster than canvas based solutions. Plus, because it doesn't use flash, it will work on most mobile devices.
Below you'll find my research. Hopefully, this helps you find a solution.
Comparison of JavaScript Data Visualization Libraries specifically says that flotr2 is built for performance. It was posted on June, 2012.
RGraph: Notable solution that specifically addresses performance and mobile issues. They have a whole page breaking down how they achieve superior performance.
JSXGraph: The comparison article 13 Chart and Graph plotting javascript plugins states that "special care has been taken to optimize the performance." However, I didn't see anything on the site about mobile support.
via https://stackoverflow.com/a/9900526/1085891
Unfortunately, Javascript Graphs and Charts libraries comparison does not have a performance criteria but I thought might still be helpful.
Another via r/programming: https://canvasjs.com
Extra: JavaScript Performance On Mobile Devices
Check out dygraphs, it has an impressive demo. Tested it on briefly on phones, feels good man.
See also comparison of relevant projects.