this post was submitted on 10 Jul 2024
391 points (95.2% liked)

Linux

48033 readers
1133 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
391
submitted 4 months ago* (last edited 4 months ago) by [email protected] to c/[email protected]
 

Zed is a modern open-source code editor, built from the ground up in Rust with a GPU-accelerated renderer.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 29 points 4 months ago (5 children)

I still don't understand why I should need GPU acceleration for my fucking TEXT EDITOR

[–] [email protected] 50 points 4 months ago (1 children)

Probably because it's more efficient. GPUs are designed to render things, which editors do. In a text editor, you're effectively rendering fonts over a fixed background, which I assume is pretty efficient using the GPU.

We're not talking about crazy 3D effects here.

Yay to battery savings!

[–] [email protected] 3 points 4 months ago (2 children)

Shouldn't the DE/Window Manager be handling that? Seems like doing it on a window by window basis would be inefficient (and look inconsistent).

[–] [email protected] 21 points 4 months ago (1 children)

That’s a totally unrelated part of the stack. These days you just have a compositor that combines the output of applications.

The model of out of process rendering in Xorg was done pre-2000s but GPUs became the norm and don’t work well this way.

[–] [email protected] 1 points 3 months ago (1 children)

The model of out of process rendering in Xorg was done pre-2000s but GPUs became the norm and don’t work well this way.

Thats where we get into explicit and implicit sync right?

[–] [email protected] 2 points 3 months ago* (last edited 3 months ago)

Also very unrelated, that’s about graphics apis like opengl.

https://www.khronos.org/opengl/wiki/Synchronization

[–] [email protected] 9 points 4 months ago

The job of the window manager is to manage windows and very little else. Font rendering is done by the widget toolkit, usually via freetype/harfbuzz.

[–] ryannathans 38 points 3 months ago (3 children)

Same reason you need it for your terminal (see kitty terminal). It's surprisingly slow to cpu render text, gpu rendering is more power efficient and far more responsive

[–] [email protected] 18 points 3 months ago (1 children)

It was surprising how gpu accelerated rendering helped read logs better. Niche case, but better was better.

[–] [email protected] 3 points 3 months ago (1 children)
[–] [email protected] 7 points 3 months ago (1 children)

More readable on my part. The speed at which logs could write to the screen and still be readable was faster for me compared to before.

[–] [email protected] 2 points 3 months ago

Interesting! I'd like to experience this at some point.

[–] [email protected] 5 points 3 months ago (1 children)

Surprisingly slow compared to GPU rendering. But... is it really "surprisingly slow"? If it was some 10mhz machine, then sure... I'd agree with you.

[–] ryannathans 4 points 3 months ago (1 children)
[–] [email protected] 4 points 3 months ago (1 children)

Maybe I'm missing something, but shouldn't the benchmark be a good approximation to the real workload? I don't see how the measurements reflect the performance difference in real life usages.

Why would I need 100MiB/s processing as opposed to 20MiB/s processing, when I can only read maybe several lines per second?

[–] ryannathans 6 points 3 months ago* (last edited 3 months ago)

Faster processing means more efficient processing which means less power draw.

https://github.com/kovidgoyal/kitty/issues/2701#issuecomment-911089374

How about keypress latency? Over 3x faster than gnome terminal and 4x faster than alacritty

[–] [email protected] 0 points 3 months ago

Same reason you need it for your terminal

So I don't.

[–] [email protected] 17 points 4 months ago (1 children)
[–] [email protected] 8 points 4 months ago

Think about battery life too 🎉

[–] [email protected] 16 points 3 months ago (1 children)

I mean, it should be clear. Smooth and fast and snappy. If you don't want that, use neovim like me :)

[–] [email protected] 4 points 3 months ago (2 children)

But... Neovim is smooth, fast and snappy 😭

[–] [email protected] 3 points 3 months ago

Terminals applications are, by definition, not smooth. You can't have smooth scrolling, or anything else really, with a text grid.

[–] [email protected] 3 points 3 months ago (1 children)

Hold down j and lmk how smooth it is 😅

[–] [email protected] 2 points 3 months ago
[–] [email protected] 5 points 3 months ago

Smooth scrolling? Maybe I'm wrong