2 ms·
First of all, yes you can, even easily - provided that you use a different GUI toolkit. 200 MB is a huge amount of memory anyway, in many cases you can do much
by dvfjsdhgfv 9y ago
First of all, yes you can, even easily - provided that you use a different GUI toolkit. 200 MB is a huge amount of memory anyway, in many cases you can do much better. Electron fans like to talk about caching, but really, that's a browser issue, it has nothing to do with GUIs, at least not with traditional ones. Why should you need to cache any GUI elements if you can (re)create a thousand dialogs in a blink of an eye? Maybe you can cache the _data_ in those windows, but that's a completely different thing, and the memory used is usually some orders of magnitude lower.
Now, as for using all available memory: that's exactly the reasoning that causes so much problems for users, and that's why after so many years of hardware upgrades our machines still feel sluggish: using all resources for your app, only because they happen to be free at that moment, is not OK.
First of all, they are free now, but they might not be a moment later (because another brilliant app author has the same idea and tries to allocate everything). Second, the resources should be used in a reasonable way. If a piece software doing extremely simple computation is suddenly allocating a few gigs of RAM and takes over all cores, my thought isn't "Oh, what an efficient app, it's using all these resources I don't need", but I wonder what went wrong! What is perfectly OK for, say, a 3D rendering node, is completely wrong for an app that could do the same thing with 10x lower resource usage.
I'm not sure if I am able to explain it in more clear terms.
- nukeop 9y agoSo you're saying increased resource usage is ok for node, but did you know that node is exactly what electron is running on? 200 MB of memory is nothing for a GUI app - and most Electron apps don't even take 100. They need that memory for all these amazing features the framework offers, like running javascript, processing css stylesheets, async execution, etc.
- dvfjsdhgfv 9y agoNo, by "3D rendering node" I don't mean Node.js but a node (like in a cluster) of a 3D rendering engine.