visjs / vis-network

:dizzy: Display dynamic, automatically organised, customizable network views.
https://visjs.github.io/vis-network/
Apache License 2.0
3.08k stars 374 forks source link

WebGL Renderer #56

Open Tyler-Maclachlan opened 5 years ago

Tyler-Maclachlan commented 5 years ago

Hi guys,

Firstly thanks for merging my changes from visjs-community/visjs-network.

Seeing as the 'official' project is starting back up perhaps it is time to get rid of the canvas renderer and use something like PixiJS (they have a canvas fallback) to increase performance especially on super large graphs.

I'd be happy to contribute to doing this, I just need someone a bit more experienced with the library to give me some pointers on where to go about changing things.

patryk-uszynski commented 5 years ago

I'm also interested in contributing to this.

mojoaxel commented 5 years ago

@patryk-uszynski @Tyler-Maclachlan Maybe you guys could scan the code to find out where the canvas API is used. One first step could be to seperate the canvas API to than replace it with webgl. What do you think?

patryk-uszynski commented 5 years ago

@mojoaxel I'm working on some very basic POC version. As far I created separate PixijsRenderer class and assigned it in Network.js in place of CanvasRenderer. I need to make it customizable in config and start rendering nodes. After that I will open draft PR or something.

mojoaxel commented 5 years ago

I'm working on some very basic POC version

Cool :rocket:

After that I will open draft PR or something.

Feel free to open a Draft-PR at any time (best if you have something to show for). After this big change we will need to test all the config-option and make sure all examples are still functional.

We should think about making the WebGL renderer optional!?

Tyler-Maclachlan commented 5 years ago

@patryk-uszynski Have you managed to get anywhere with your POC?

oussjarrousse commented 4 years ago

I am also interested in WebGL rendering as an option for vis-network. How can i help?

Thomaash commented 4 years ago

Hi @oussjarrousse,

your help would be really appreciated as this seems to be quite stalled.

I would see this happening in these stages:

PS: We can't throw Canvas out the window because we expose it in some events. A lot of code would be broken by that with potentially very difficult migration.

oussjarrousse commented 4 years ago

A very difficult task for me. especially with my limited time and experience with the visjs code.