Hacker News new | ask | show | jobs
by bufio 895 days ago
I have never encountered an Electron app that can even display the results of keystrokes in a timely manner, and that includes vscode. All Electron apps waste system resources to an obscene degree. Also, Electron apps have already thrown away OS conventions to the point that user interface consistency has become a thing of the past.

I don't believe that either choice is ideal, but if Godot were ubiquitous instead of Electron, applications would probably at least be less laggy and more memory-efficient.

5 comments

Something is very wrong with your system configuration if VS Code has issues showing keystrokes in realtime. It's not a VS Code or electron problem.
I've had this happen with VS code. When your system is under load, VS Code not only gets keystrokes in a laggy way, the characters arrive in the wrong order.

Haven't had this problem with other text editors.

Yes same experience here, it'll perform well for the first 3 keystrokes after a rest, then start lagging, compounding lag to the point where the screen is 5 characters behind of what I am typing, then I have to wait 10-15 seconds for it to rest and report all the errors. It's terrible but there's no alternative for the features.
That's entirely different than having "never" seen it handle keystrokes in a timely manner.
I've seen this too. With recent versions nonetheless.
VS code has had 1 or more frames of keystroke latency on every system I've ever used it on (across years of regular use, on multiple devices and OSes).

It's imperceptible to some. Not to me. Drives me up the wall, but the vscode integrations are too good.

People say this but then I look at them typing and I can literally see the lag compared to closer-to-the-metal toolkits.
This happens to me pretty regularly when training ML models or running heavy simulations etc, the system is taxed and electron just gets swamped meanwhile more efficient apps can handle themselves just fine on the side.
Except, maybe, for the fact that they are attempting to run anything Electron at all on their device, it is not a configuration problem to use a machine that was manufactured a couple years ago and was most likely not top-of-the-line hardware even back then.

(In my particular case I've a passively cooled laptop from like 2021; The limited compute resource available to applications in that device really made me appreciate the well built applications)

I currently use an old macbook from 2014. Everything is slow and I can't have too many applications open at once. But vscode is still one of the snappier ones and I don't see those keystrokes issues.

Of course you can always go less powerful but at one point you just can't use all more complex editors. It's not an electron issue.

Vscode struggles with intellisense and vm round trips on my older cpu. Feels like a race between displaying the character I just typed and displaying suggestions. Sometimes.
to be fair, it's possible that I also experience this from time to time. Since it's an old laptop, sometimes things are slow and I have to wait a bit for intelligence to initialise and cache results. But generally, especially if I close most other programs, it feels reasonably snappy and I don't have the displaying issue.
As an OSX user I had problems with VS Code only on 2 occasions: 1. Syntax highlighting gives up on larger files. What can be considered "large" depends on your machine of course. In this situation I use Sublime Text. 2. I worked on a web frontend that used React MUI (Material UI). That particular version of MUI & VScode combo didn't work at all. Intellisense would slow the editor down to where it was barely usable. That was a couple of years ago, never seen this issue again.
Try opening a 100 MB file in your text editor and report back.
I have the same not-a-VS-Code-or-electron problem.
Sublime Text and Blender (and I guess the majority of CAD applications) creates their own UI engine. That would be better than the current state of electron apps, but most UI engines I encounter have support for custom elements. The issue is more wanting access to lots of cheap developer resources than branding.
I'm not sure about Sublime Text, but I can't imagine Blender is very accessible. As it's such a visual app that's perhaps not surprising, but this approach wouldn't work for other app styles.
Are you running a 15 year old netbook or something? I've never noticed any input lag in VSCode or Slack (or any other Electron apps I can think of)
I own a 2017 MacBook Air, and I don't see why a block editor like Notion should be so slow on my computer. This is why I'm building my own block editor in Qt C++ and QML[1].

[1] https://www.get-plume.com/

Nice landing page. Tip: make the speed comparison an agonizing animation, like esbuild's:

https://esbuild.github.io/

Edit: Tip 2: the screenplay looks nothing like a screenplay

Haha that's funny. I'll consider that.

> Tip 2: the screenplay looks nothing like a screenplay

Is it because the lack of middle alignment? I was thinking about that. At the end of the day it's all plaintext/markdown underneath, so I need to come up with the right syntax for that.

You can use Fountain

https://fountain.io

Awesome, thanks!
Just wanted to compliment your landing page and the intro gif. Great showcase of the app, if I wasn't hooked on LogSeq I'd give it a try!
Thanks a lot, I'm very happy to hear! Essentially, all notes are just markdown/plaintext, so it should be easy to move your data to/from LogSeq. I'm saying essentially tho cause, although the underlying data is plaintext, they are stored inside a local database rather than an arbitrary folder. But soon I'll change that.
Because Notion is slow period. The web app is insane
Looks good. I joined the waitlist.

How does it compare to Obsidian? I didn't see it in any of the comparison graphs.

Hey there, just saw your comment. Obsidian isn't a block editor (see below what it means in practice) so it's not being compared.

- Obsidian is using the resource-hag framework Electron. So it uses much more resources. Plume is built using Qt C++ and QML, and it's actually faster than comparable native apps.

- Obsidian editor is not a block editor (i.e., like Notion), so you can't put advanced blocks like a Kanban (tasks board) within the same page.

- Since it's not a block editor, you can't drag & drop different components.

Unlike Notion (which is also a web app wrapped with Electron), Plume is:

- Fast (Qt C++ vs Electron)

- Easier to use (opinionated design vs. Notion's complex databases)

- Portable (Underlying data is plaintext* vs. proprietary database)

*Currently all the notes' plaintext is stored in a database, but soon we'll change that to support arbitrary folder.

You're probably used to high latency.
You'd be, if you got into computers only recently. It got this bad.

Only those who have used systems yielding low input latency (e.g. Commodore 64, BeOS or the Amiga) can tell that something is very wrong.

What does low latency have an effect on, productivity?
Sanity.

Whether sanity and productivity are correlated, I won't go into.

When you've experienced low latency, high latency is very noticeable, and drains mental health.

Yes, that's the most probable. I use a M3 Max so nothing is really slow but speed difference between vscode and Sublime is abysmal.
they're a text editor and a chat client, and a 30 year old computer can run vim/emacs and irssi just fine.
brb, just switching my 100k employee company from Teams to IRC, should be quick and easy, everyone is going to love it.
If they are on MacOS they may make you their king. I still have PTSD from the last job that I had to use Teams on a Mac.
Teams is awful on all platforms, I don't ever want to touch it again
They might indeed. There are some very nice native IRC clients for macOS that are fast and good...
Excellent idea! You'll have a mature, open standard protocol under the hood, with no vendor lock-in, excellent extensibility, and great modern frontends like The Lounge (https://thelounge.chat/) or Convos (https://convos.chat/) to choose from (and you can choose).
I would love it. I would also love for it to switch to silence instead.
VS Code ID top laggy for you? Honestly asking because I think it performs adequately when compared to like IntelliJ.
According to one benchmark intelliJ can reach an average latency of 3ms on an i5 3427U from 2012 [0]. In a 2022 Github issue someone profiled VS Code which resulted in 12ms latency on an i7-12700KF released in 2021 [1].

If those results are even remotely representative of real-world scenarios then VS Code can't come close to intelliJ performance.

[0] https://pavelfatin.com/typing-with-pleasure/#windows

[1] https://github.com/microsoft/vscode/issues/161622#issuecomme...

When doing what? Also why did you leave out that in the actual apples to apples comparison (the screenshot in the GitHub issue), IDEA literally is shown to have a worse latency versus vscode. Also, just going by pure graphical latency is... niche to say the least. What matters most is how fluid it is, how quick it actually processes stuff and how well it does all the required background IDE stuff without lagging or loading too slowly. Painting onto the display is just one part of the equation (and one that vscode still seems to beat IDEA on, even in a bug report about latency on... vscode)
If you want to check an application that runs on Electron and is quite speedy, try Obsidian.md. I didn't even know performance like that was possible in an Electron app. Unfortunately this example is the exception instead of the norm.