6 ms·
It's not clear to me if they used Electron's Node backend for much more than it's File API. If that's the case, they might have been better off just using a QT
by jszymborski 7y ago
It's not clear to me if they used Electron's Node backend for much more than it's File API. If that's the case, they might have been better off just using a QT webview (e.g. pywebview) for the sake of performance (which they cite as reason for moving from NW.js/Electron).
- fuzzy2 7y ago> pywebview Uses Edge or IE on Windows by default. Nope nope nope. :D
- jszymborski 7y agoyou can set it to use CEF, however
- Phillips126 7y agoI'm not very familiar with Qt or Qt webview but from their documentation it states: > This version of Qt WebEngine is based on Chromium version 73.0.3683, with additional security fixes from newer versions. Assuming they both have a full Chromium embed, would there have been better performance? I assume the developers are mostly JavaScript devs so their choice to use Electron/Node makes sense.
- mister_hn 7y agoQr 5.13 is based on Chrome 76-77
- IggleSniggle 7y agoMost folks complaint with Electron isn't that it isn't performative, but rather that it is bloated (you ship an entire browser when all you needed was eg the canvas and v8 engine).
- seangrogg 7y agoIn all fairness, are you aware of a tool for web developers that only ships the canvas and v8 engine? Legitimately curious, because I've tried looking in the past for similar reasons (game dev on an engine I already know) and came up empty-handed.
- devit 7y agoJust setup a localhost server and open the default browser on it. Or just have a website, if you don't need privileged access to the user's machine.
- IggleSniggle 7y agoJust in case you are not being facetious: totally agreed; but in the case of delivering a game on platforms that include Steam, and also for perception reasons, not really an option.
- luismedel 7y agoI've always dreamed for an Ejecta[0] like solution for desktop systems. [0] https://github.com/phoboslab/Ejecta https://github.com/phoboslab/Ejecta
- Kiro 7y agoI second this. Ejecta is beautiful and I really hoped the concept would catch on.
- seangrogg 7y agoThis would be great, if only... Realistically, I just want a canvas with some audio/input stuff in most cases (though being able to put some divs in places may be nice for rendering things like menus).
- cztomsik 7y agoWebGL is planned for graffiti It's not finished yet but you can get close to 20M mem usage + overhead of your libs & assets. Executable size is node.js + 2M (30M total IIRC and it compresses nicely to ~10M *.dmg because node contains a lot of strings) Please file an issue if you want it to happen so that it can be tracked how many people want it too (I had no idea that this is a thing in gaming community). It's now at the bottom of my priorities (I'm working on raspi support so that it can run as smartmirror) but it's not that hard to add so it could actually happen. https://github.com/cztomsik/graffiti https://github.com/cztomsik/graffiti
- shantly 7y agoThey tend to use ~10x the memory that seems reasonable—generous, even—for what they're doing, and periodically misbehave and decide to eat tons of cycles continuously for no obvious reason, in a way native apps don't, or at least not so frequently and nigh-universally. Sure, partial counterexample in VSCode, but then there's all the others.
- IggleSniggle 7y agoI agree with what you are saying with regards to the tendency of the platform. But, aside from the weight of unnecessary/unused browser features, I think that has more to do with the needs of the developers attracted to the platform more than the platform itself. "The needs" being a requirement to ship a MVP ASAP using developers that can agree on a lowest common denominator language of js.
- stjohnswarts 7y agoI wonder if the VsCode coders don't share their SOP somewhere for us mere mortals to learn some techniques they use to keep electron under control.
- pier25 7y agoQT is expensive for the indie developers. A better choice would have been to simply use WKWebView in macOS and the equivalent in .NET/UWP for Windows.
- snazz 7y agoExcept for then you have to deal with whatever version of embedded Internet Explorer .NET uses. Maybe the UWP solution uses Edge now, but that still isn’t wonderful compared with embedding Chromium.
- tenryuu 7y agoUsually in .NET you typically get IE, not Edge. People have been using CefSharp as a replacement. A number of software I have contributed to have done this. In contrast, UWP applications do use the Edge rendering engine, and while it may or may not be possible to use CEF in these applications, you won't be able to get it certified by Microsoft, therefore no one, at least to my research, has bothered doing so. I wonder what the future brings with Edge now just being chromium based
- colejohnson66 7y agoNitpick: QT isn’t expensive if you agree to the LGPL. If you want to do your own thing, you have to pay up.
- The_rationalist 7y agoWhat about https://www.chromestatus.com/feature/6284708426022912 https://www.chromestatus.com/feature/6284708426022912 ?
- bakuninsbart 7y agoIt is an html game, runs basically on a potato with electrical wires plugged into.
- ben-schaaf 7y agoMost websites don't run well on even high end hardware. There's most certainly a performance tradeoff using a browser, especially for something as performance sensitive as a game.
- soylentgraham 7y agoThere's a performance trade off using the DOM. If you only draw to canvases and execute javascript, the browser becomes a very fast engine.