-
Notifications
You must be signed in to change notification settings - Fork 234
It is more of a question than issue, how exactly does this approach minimises the Electron footprint? #14
Comments
There's going to be some fixed footprint associated with Electron that is unavoidable. This mostly boils down to memory, but starting a window might also be somewhat slower than a more focused application using a native toolkit. The goal is to strike the right balance between the flexibility and extensibility afforded by Electron and the performance goals mentioned in the README. Specifically, on newish hardware, we want to run at 8ms for animations and common text operations, 50ms for coarse-grained operations like opening an editor, and 150ms to open a window. I'm sure there are editors that can and will do better than this, and we could certainly do better if we bypassed Electron completely. But I think based on user research that meeting these goals will yield a satisfyingly responsive user experience, and in exchange we'll get the benefits of Electron for extensible, cross-platform UI. So to minimize the overhead of Electron, we're thinking about the following kinds of techniques:
Basically, let's make the most of the strengths of Electron as a flexible, cross-platform UI framework, but use the most efficient techniques possible. This is the opposite of Atom's approach, which tries to embrace the "web" way of doing things as much as possible. It's all about trade-offs. Hacker News loves to hate on Electron and some people will just never be satisfied with anything use it. But web tech does offer the most compelling cross-platform UI framework that I am aware of, and one that is guaranteed to be around and improving for years to come. Hope this helps. |
Do you think there are places in Electron that can be optimized to benefit all apps, not only xray? |
I think that's mostly up to Chromium, and it continues to improve. |
Isn't simply bringing a "hello world" electron app starts up with the the whole engine and browser APIs and etc?
Maybe I didn't understand correctly how this works, but what Rust brings to the table is the speed of native cod instead of the overhead of a dynamic language that JS is facing (V8 optimisation mechanisms etc).
I am just curios if besides the reason above, are there other ways of minimising the Electron footprint?
Kind thanks and also kudos for the repo!!! I would love to help out if I can find with what :D
The text was updated successfully, but these errors were encountered: