A brief look into ‘performance’ in Web Data Visualization

Introduction

Throughout the existence of humankind, we’ve been trying to present data in various visual forms. Therefore, it is quite accurate to say that the concept of data visualization is actually quite old. Maps, which present geographic data, have existed at least 8000 years.

Over the time, the idea of visualizing data has become more familiar. When the technology gradually evolved and computers were invented, also data visualization was introduced to a wider audience. The rapid growth of technology and the development of computers also enabled the possibility to process huge amounts of data with exceedingly fast speed. For us being able to process continuously increasing amounts of data, we need to come up with more high-performance solutions.

In order to understand the ultimate purpose of performance in the field of data visualization and its various terms, we wanted to provide a brief overview to the fascinating world of Web data visualization.

Jungle of terms

At first let’s briefly define a few terms: «Big Data» and «Performance».
The term Big Data describes large volumes of data: the amount of data so large, fast or complex that its practically impossible to process it with traditional data processing software. That is why big data analysis is nowadays done by using different advanced software systems.

When thinking about the value of the actual data, the importance is not about how much data you have, but in the end, what you do with it. When processed and analyzed correctly, big data provides companies with information to draw insights from, uncovers hidden patterns and drives more confident decisions. It provides the ability to work more efficiently, and in the meantime lowers costs.

Performance is bearing a description of how well a machine, product, etc. does a piece of work. In the data visualization field, it basically means how fast, powerful and easy it is to use visualization components. Performance is needed for rendering and presentation of huge data amounts with human-computer interaction and graphics technologies which include such aspects as hardware performance, computation and system visualization.
To put it simply, performance is required to smoothly render all the data and present it in a comprehensive visual format. In terms of Web development, the more data needs to be rendered, the higher is your demand on performance indicators that a Web charting library can deliver depending on various conditions. High-performance charting library simply means that that particular library has performance level that can effortlessly render data without lagging or feeling sluggish.

Also, let’s look at two common terms used to describe performance in web data visualization: FPS and rendering time.

What is FPS?

FPS (Frames Per Second) is a metric used in technology to measure how many times an image is rendered, or drawn, during one second. Most common use-case would be videos, animations or any program or game that produces images on a device screen.

What does FPS tell?
In our case, FPS tells us how many times an image is rendered on screen during one second; what this means in practice
  • How smooth our charts will look when we are zooming and panning, or when any animations are playing on-screen.
  • How responsive our charts will be when interacting with a mouse or when using touch controls on mobile devices.
As a rule of thumb; the higher your FPS is, the better the charts will feel and look like.
  • Most screens can display up to 60 fps, although more and more displays can go higher than that.
  • Lower FPS will cause the image being rendered to look choppy, like looking at a PowerPoint presentation.
  • Lower FPS will also cause mouse / touch interactions to feel sluggish, as the image is rendered after a delay.
In general, FPS can be used to relay the user how smooth the rendering and mouse/touch interactions will look and feel with our charting library.

The challenge of choosing the right visualization lies usually in the provided resources. Once you identify the requirements regarding the expected performance levels, it should be easy to discover the preferred web charting tool. Unfortunately, in the data visualization industry, there are a lot of tools of which FPS metrics are not visible to a potential customer. So choosing a truly high-performance charting library can be tricky.

Here at Arction, our goal is to clearly state the levels of our performance when talking about FPS. Here’s the performance results of LightningChart JS when using a typical desktop PC:

  • Streaming continuous data with scrolling line series: 1 million data points: 60 FPS (repaints / sec)
  • Streaming continuous data with scrolling area series: 1 million data points: 57 FPS (repaints / sec)
  • OHLC candle-sticks: 1 million data points: 57 FPS (repaints / secs)
Rendering time

Rendering time is used to measure how long it will take to render something. Nothing fancier than that. For charting libraries, this can be used to tell the user how fast their data will be shown on screen, once they have added their data to a chart.

Important things to note when measuring this, is how much data is being fed to the chart and how long the chart takes to render this data.

“We can render millions of points of real-time data” – this statement doesn’t tell the user how this data is rendered, in how much time or what is meant by real-time data. This can be made clearer to user by saying
“We can render MILLION data points in under 60 milliseconds” – this immediately tells the actual amount of data and how much time it takes to show it on screen.

In a rapidly growing IT world today, a huge amount of data is being generated by different Web technologies. For the data visualization tools, the ability to efficiently render a tremendous amount of data sets, without significantly neglecting the performance is not a surprising requirement.

Conclusion
There is as many approaches as there’s data visualization libraries when expressing the products performance levels. Unfortunately, it’s quite common that when introducing the charting component, the actual figures related to its performance are completely lacking or are poorly presented. That is why, the user’s going to have to do some extra work when it comes to discovering the most high-performance charting library.

As that being said we, here at Arction, want to be as transparent as possible and display our products actual performance results so that the comparison between the various tools would be highly convenient. We want to showcase real figures instead of just vague or approximate promises.

As a brief summary, this article was created to introduce you with the most general terms of performance in data visualization industry. And as already mentioned, the vocabulary of industry consists of hundreds of different terms and metrics, which is why we only scratched the surface of the terminology in this short article.

If you are interested in finding more information about charting and performance, please let us know. We’re glad to help!

Arction Team