3 ms·
I guess webgl makes things faster with hw acceleration ? We re using this https://github.com/alx/parasol https://github.com/alx/parasol that is based on sigma.j
by pilooch 8y ago
I guess webgl makes things faster with hw acceleration ? We re using this https://github.com/alx/parasol https://github.com/alx/parasol that is based on sigma.js, usually along with ML. Does webgl allow to get a higher number of nodes and edges running fine in the browser ? Ability to get forceatlas within the browser is a plus in practuve weve found.
- lmeyerov 8y agoWe do millions of edges in the browser fine via webgl (graphistry.com / https://github.com/graphistry/pygraphistry https://github.com/graphistry/pygraphistry ) . For forceatlas and other interactive & iterative analytics algs (t-sne, ...), it's hard to keep 100K+ nodes interactive via webgl. Most webgl attempts go naive all-to-all O(n^2), so the graph size quickly hits a ceiling. We rewrote to use GPUs end-to-end in the server so we can do trickier opencl/cuda algs that achieve O(nlogn) and O(n). Funny enough, users don't notice round trip costs -- or get even faster perf -- as our 2.0 engine does live streaming between client/cloud to hit ~20fps, similar to how streaming movies keep up frame rate. Our problem is now that JS only supports pointers up to 2GB :)
- pilooch 8y agoVery cool! The docker install is proprietary as well or require an API key right ? Looks like a very finetuned tool, I'll recommend it around.
- lmeyerov 8y agoYep! Either a key to our SaaS for non-profit analysts or a docker for commercial, which supports the kinds of requests you see here as they add up, esp when supporting bigger scales. We're launching additional accessible options, if relevant. We started in pretty deep gov/enterprise, so fun to finally be emerging for simpler stuff :)
- immortalloom 8y agoThat is correct. WebGL outperforms HTML5 Canvas 2d context, and HTML5 Canvas 2d context outperforms SVG. With WebGL, you are loading up the vertices of all the nodes and edges into the GPU, and they stay there. All the transformations like panning and zooming happen on the GPU. El Grapho uses picking for hit detection via ConcreteJS, so hit detection is nearly instantaneous for any number of nodes and edges, i.e. millions of them.