- Windows Latest discovered Discord and other Chromium and Electron-based applications with high RAM usage
- RAM usage spikes from 1GB to 4GB on Discord both in and out of voice chat
If there’s any silver lining to this, perhaps we can get a renewed interest in efficient open-source software designed to work well on older hardware, and less e-waste.
Morgan Freeman: ”They couldn’t”
I wish we could, but it’s tough to maintain optimism in the face of these sociopathic corporations’ seemingly ever-growing power
Open source developers are just like you and me. They’ll get fed up with the bullshit and start developing things they need with the resources they have, just like they’ve always done.
If there’s any silver lining to this, fuck JavaScript, fuck JavaScript wrappers and fuck all people picked JavaScript for the programming language of anything cross-platform.
It’s unbelievable I would need 6 gbs of RAM to say a simple “hello” to my friends. It used to take 300kb with IRC.
that has very little to do with JavaScript though 🤷♂️
I’d love to see games do this because they are clearly not being optimized. Can’t wait to see that not happen.
Good thing, I’m happy with retro games and the occasional indie.
3/5 of the way through 100% Final Fantasy II. Figure by the time I catch up to modern final fantasy either hardware will be better again or people will optimize again. Either way I got time
US 2 or JP 2?
US 2 is so good, but the late game seeed to have a difficulty spike so I never finished it.
Why spend time making better software when the end user can just buy better hardware!
That’s been the thinking for the last couple of decades at least. But it can’t continue if people can’t afford new hardware.
Why would you do that when you can pull 50 JavaScript libraries and wrap it in Electron?
I really wish Electron wasn’t as popular as it is. It’s such a fucking memory hog. I mean, sure, I’ve got RAM to spare, but I shouldn’t need that much for a single app.
Yes, it runs a separate browser instance for each electron program. Many of the programs that use it could just be a PWA instead.
This is what bothers me so much… Browsers should be improving their PWA implementation (looking at you, Firefox) and electron apps should be PWAs more often. Another decent middle ground Is Tauri. SilverBullet and Yaak are both so much lighter and better than anything else on my system.
Yeah but companies want full control and no ad blockers. That’s why they’re pushing shoddy Electron apps over their web experiences and PWAs.
I tried the PWA route with Discord. It wouldn’t stay logged in, and acted generally janky. That said, I do PWA with any app that’s Electron, at least to try and avoid the RAM bloat.
I wonder how much exact duplication each process has?
https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.html
Kernel Samepage Merging
KSM is a memory-saving de-duplication feature, enabled by CONFIG_KSM=y, added to the Linux kernel in 2.6.32. See mm/ksm.c for its implementation, and http://lwn.net/Articles/306704/ and https://lwn.net/Articles/330589/
KSM was originally developed for use with KVM (where it was known as Kernel Shared Memory), to fit more virtual machines into physical memory, by sharing the data common between them. But it can be useful to any application which generates many instances of the same data.
The KSM daemon ksmd periodically scans those areas of user memory which have been registered with it, looking for pages of identical content which can be replaced by a single write-protected page (which is automatically copied if a process later wants to update its content). The amount of pages that KSM daemon scans in a single pass and the time between the passes are configured using sysfs interface
KSM only operates on those areas of address space which an application has advised to be likely candidates for merging, by using the madvise(2) system call:
int madvise(addr, length, MADV_MERGEABLE)One imagines that one could maybe make a library interposer to induce use of that.
maybe a toggle to choose between “take some extra RAM, I’m feeling generous” and “fuck you, I’m computing shit over here” could be used to let the app know your current mood / needs …
Memory hogging browsers usually do release memory when pressured. You can take it further by getting extensions that unload unused tabs.
The problem is electron apps that load the whole browser core over and over.
Miss times when 4 gigs of ram was more than enough for browsing and playing game at the sane time
It still is if you’re willing to jump through enough hoops
I normally reply with a tux penguin but, is it really a Windows problem if the it’s the apps that aren’t optimized for shit?
Indeed, and Electron is not specific to Windows
Windows itself is inherently unoptimized these days with its AI search powered start menu and settings pages that are actually electron web apps. Linux uses 3+ less gb of RAM on just desktop after I switched. So really it’s a both problem. Both windows and the programs need a rethink
The proliferation of electron programs is what happens when you have a decade of annoying idiots saying “unused memory is wasted memory,” hand-in-hand with lazy developers or unscrupulous managers who are externalizing their development costs onto everybody else by writing inefficient programs that waste more and more of our compute and RAM, which necessitates the rest of us having to buy even better hardware to keep up.
Tauri is the way to go ; so that every app doesn’t each embed another web browser that makes for 90% of the file size.
Is the Rust backend mandatory?
In Tauri, the rust backend is the glue between web/js and OS functions. Yet you don’t need to do any rust code, it’s delivered ready.
Of course all must rust, return to the oxide!
It’s because people want cross-platform apps and web is the easiest way to do it. Yes, you have Flutter, KML or Qt but those are often hard to work with (looking at you, Flutter) or it’s difficult to find devs that can work with them. You choose web (JS/wasm) and you have plenty of devs familiar with the tools and you can support all the platform easily. I’m using Tauri for my personal projects because it’s fun and easy. I could use Qt but I don’t want to work with C++ or Python, at least not in my spare time. If anyone can recommend me a nice framework supporting Linux and Android and using modern language I might switch. I haven’t found one.
It’s because people want cross-platform apps and web is the easiest way to do it.
Just use the website then? There already is a suitable browser installed on every system. But no, must have apps. Makes it easier to stop people from having opinions about data collection and such. And the full browser stack needs to be fully reproduced each time. It gets really ridiculous when these apps sit idly in the notification area. Not to speak of security implications because electron apps and such usually don’t get timely updates.
Just use the website then?
It is a good solution for some apps but if you need to store data locally, use push notifications, run something in the background or access any native APIs you have to go with a native app.
All major browsers can do this - with the exception of running something in the background I guess. But that is exactly the sort of usage scenario where an Electron app is the worst choice. Coding a separate utility with no GUI would be the sane thing to do here, not put whole browser stacks into memory.
You’re actually right, by now browsers have APIs to do most of the things apps do. Technically you could convert most apps to websites. I guess as a user I just don’t want all my apps to open a tab in my browser. I want to move apps between virtual desktops and monitors independently and I don’t want my app’s window to be clattered by all the menus from my browser. On mobile I also prefer switching between apps than between different tabs. For me the best compromise is:
- for system tools that don’t have to be cross platform and critical apps write native apps
- for small/medium cross platform apps use webviews like Webview2 or Tauri
- for big apps like Teams or Discord just use a website
I guess as a user I just don’t want all my apps to open a tab in my browser. I want to move apps between virtual desktops and monitors independently and I don’t want my app’s window to be clattered by all the menus from my browser.
All this is already possible with most browsers.
Do you know any websites that integrate into Linux desktop and Android like native apps? I mean I can run it from cmd/icon, and it opens as new window without any decorations? I never saw it but if it’s works fine it’s an interesting option.
It’s because there is no such thing as optimisation anymore. Websites are bloated to the gills with terrible animations and tracking scripts.
Meanwhile, on my Linux system I use about 20% of my ram idling around and it doesn’t really budge. I’ve only got 16gb
I left windows just 2 months ago to use a MacBook for work.
In both computers I had 16gb of ram.
Windows usage was significantly higher in regard to ram usage.
I use today Linux is way more efficient, but after seeing similar efficiency with Mac, I’m changing my language to say Windows is extremely inefficient.
I brought a laptop from 2003 back from the stone ages. It runs surprisingly well, is up to date, and only really struggles with web stuff because of the state of things.
Antix linux running on 2GB ram, Pentium m 1.4GHz, and an SSD in an IDE enclosure. Uses about 200mb of ram. As far as being functional, the screen is small and low res, and it doesn’t do these newfangled video formats. But if you consider 90% of my work life is in spreadsheets and documents and low resource applications, it really could be just fine. I’m not saying I would enjoy it if it was all I had to use, but I could if I needed to.
I wouldn’t mind them all using HTML for UI if they’d learn to share the same one, and only load it when they need to show me something.
No, Razer, your “mouse driver” does not need to load Chrome at all times, when I’ll only ever look at it once.
No, Razer, your “mouse driver” does not need to load Chrome at all times, when I’ll only ever look at it once.
It’s funny; on Linux such devices work perfectly but many users complain that they “aren’t supported” because there’s no UI (that sits uselessly in your notification area and eats memory).
This is a trade off. Many of these apps work on osx and Linux because they are browser-based. If they go back to native apps you lose that portability.
There are plenty of cross platform frameworks and libraries that don’t involve web tech
There is also the advantage of an army of web devs who can build somewhat functional software for the desktop day one.
There are, but few of them also work on the web as an alternative to the desktop. Writing one shitty web app and offering Electron wrapped versions of it gets you a webapp, a Windows app, a Linux app and a MacOS app. And you already have web devs on the team because everyone does.
We were laughing at Java back in the days. Now they use JS instead…
electron was a steaming pile of shit 8 years ago. still is. what’s changed?
our acceptance of shitty corporate software.
Electron is fine for what it does. It’s just that every problem was turned into a nail and Electron is the hammer.
I mostly use terminal-based software on Linux.
I think that the only programs I use much that embed a web browser are:
-
Firefox
-
Steam
-
Some games that are Web-based and which I only run one of at once (Neo Scavenger, some RPGMaker-based games, probably some others).
Not sure how meaningful it is to say that Firefox “embeds a web browser”, considering that it IS a web browser :P
-
I have an M1 Macbook Air with 8 gb of ram, it performs great for everything I want to do with it – except for the fact that a ”few” active browser tabs are enough to bring the memory pressure to the pain point. Editing HD video? Reasonably snappy for an old, base spec laptop. Browsing a news site? Potato.
Native apps are so much better, on every platform.
The JavaScript must flow….
I guess the prices give us a new kind of issue ticket template; “new RAM is too expensive for me, please consider optimizing”
Less abstract, more concrete than “take less of a share please”















