google / node-gles

Apache License 2.0
324 stars 32 forks source link

How does it compare to Electron-TF for non-GUI apps? #33

Open innerop opened 5 years ago

innerop commented 5 years ago

I can already use Electron to bypass CUDA and rely on it for exposing WebGL to TFJS. How does Electron manage to work with all kinds of desktop GPUs? Does it use something like Angle under the hood? Or it works differently?

Besides being dramatically lighter and aimed at non-GUI apps that can be written on top of OpenGLES (and I assume having a WebGL backend fo TFJS), how does Node-GLES compare to Electron?

My evolving aim (as of now) is to be able to build TF apps in JS in embedded form factor without relying on NVIDIA specific libraries like CUDA and cuDNN.

I could use some clarity.

nkreeger commented 5 years ago

We haven't benchmarked this library against Electron + Chromium/WebGL.

Right, Electron provides that functionality (native GL acceleration w/o CUDA). Sorry for any confusion - this is something that could be bundled into Electron, we just haven't tried. The main scope of this running under Node.js with WebGL acceleration. We can use this for GL acceleration on Mac OS, IoT devices, etc. Electron could be an added bonus once profiled and an example is created.

idibidiart commented 5 years ago

I wonder if running node-gles in Electron to offload TFJS to the Electron backend means that the Electron UI process will be lighter and UX will be snappier when doing heavy stuff with TFJS? I know you can't answer that without trying it, but it's a thing to try, IMO. Please let us know when node-gles is ready enough to try. If you guys, or anyone from the Electron team are up to it, that would be great, too. Thanks. Exciting.