Skip to content

WebGL based scatterplot visualization of large, high dimensional datasets

License

Notifications You must be signed in to change notification settings

RcSepp/GlobalView.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GlobalView.js

WebGL based scatterplot visualization of large, high dimensional datasets

Why another JavaScript plotting library?

There are a plethora of plotting libraries available. Many of them are free to use. Most of them provide more options and chart types than GlobalView.js. But GlobalView.js is different, it is fast!

How fast?

Try it for yourself and see how fast your browser can draw a million points here. A modern desktop computer will report something like this:

  • Initialization: 250 milliseconds
  • Random dataset generation: 500 milliseconds
  • Render time: 10 milliseconds

10 milliseconds means 100 frames per second, meaning that this plot renders in realtime. If you don't believe it, try scrolling with the mouse wheel or panning the view by either holding down the middle mouse button or CTRL + left mouse button.

The following graph shows a benchmark of how fast a plot with between 0 and 10 million points renders on a desktop machine: (Speed is measured in Frames Per Second)

GlobalView.js benchmark on desktop CPU: Intel Core i7-2600K CPU @ 3.40GHz, GPU: AMD Radeon RX 480, OS: Ubuntu 17.04, BROWSER: Firefox 55.0.1

On a phone GlobalView.js achieves the following frames per second for between 0 and 1 million points: GlobalView.js benchmark on mobile PHONE: HTC Desire 626s

Why is it so fast?

GlobalView.js uses WebGL to render points with the GPU. It keeps the full dataset in video RAM as one continuous block of memory to avoid costly copies between host RAM and video RAM and it is optimized to keep communication between JavaScript and OpenGL to a minimum.

About

WebGL based scatterplot visualization of large, high dimensional datasets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages