I honestly hopoe Electron has to improve it's performance or companies start moving off of it. It's honestly a bit of a joke at this point.
I honestly hopoe Electron has to improve it's performance or companies start moving off of it. It's honestly a bit of a joke at this point.
I just don't see how 220MB for Discord is unreasonable in any way, when Firefox with 8 tabs takes 1.2GB. Telegram written in Qt meanwhile takes 200MB, literally no difference to Discord, an electron app.
Slack was using 1.2 GB. It is in a workspaces but that seems a lot for an app that does nothing.
Postman I think is also Electron often uses 1-2GB for sending API requests.
Atom though was only using 200MB which is fair.
I think it's a bit weird to compare a chat app with a web browser, though, when it comes to memory usage. Maybe a better example: hexchat, a native GTK IRC client, is currently using 60MB of RAM. Telegram's native app using over 200MB is also ridiculous.
Even something completely simple such as snip a portion of your screen and paste it in the chatbox so others can see it immediately, without having to mess around with dodgy image upload sites. This is basic functionality for 2022.
It's like comparing notepad.exe to Microsoft Word
> rich embedded media like images and videos
Yes
> live stream games to your friends on it
no (there's WeChat livestream (idk what it's called in English), but it's not discord style stream-your-desktop)
> talk with people
yes
> have profile avatars
yes
> use emotes
yes
> build bots that stream music to you
yes
> Even something completely simple such as snip a portion of your screen and paste it in the chatbox so others can see it immediately, without having to mess around with dodgy image upload sites
yes? you can paste stuff into wechat just fine. Think WhatsApp, not IRC
Idk where GP came up with 18MB tho, it's eating up 100 on my laptop right now.
The point is most of what Discord provides is low value for the resources it demands.
Higher screen resolution uses more memory too.
I'm sure dependencies / libraries have grown in size too, and yeah, using web for UI takes memory.
Yes, because CORS, a way that HTTP requests are restricted, doesn’t even exist in native. Of course a native app can reach out to any URL it wants. That is the default, and also how CORS functions when disabled or bypassed.
A native app, lets say that wants to play video and is using a cross platform GUI. You've got to load and run that code, and have all the relevant code in the native app's address space. That would be a bunch of code that needs to load over the PWA which is leveraging something you have loaded in RAM anyway. In this case the native is actually worse than the PWA for resource utilization.
Launch CPU cycles can be similar, running a huge swath of GUI code for the native app vs a pre-loaded browser which only needs to run the JS and render the page.
Having your app's runtime already loaded on the system is a huge advantage.
Electron does not benefit from these advantages though. These are PWA exclusive advantages.