Remix.run Logo
▲ throwaway2037 2 days ago

From the website https://gpui.rs/, I see this description:

    > GPU-accelerated UI framework for Rust
Can someone explain to me why a text editor needs to be GPU-accelerated? Literally, you are only blitting a few icons and painting text. What am I missing? To be clear, I am not here to doubt that the toolkit is good. Rather, I am asking why is "GPU-accelerated" important? Most people in 2026 that use an IDE are also equipped with a multi-GHz CPU has has plenty of compute to paint whatever pixels necessary at more than 60Hz refresh rate.
▲nomel 2 days ago | parent | next [-]

I think you underestimate how intense drawing text is, with all the aliasing and whatnot that goes on, spanning the full width of a 4k monitor, and don't realize all the IDEs you mention are GPU accelerated. You can get a feel for its worth by using a terminal that isn't GPU accelerated, or turn off GPU acceleration in VSCode, Microsoft office, etc. Add in images and video, and you get people complaining about poor battery life.

It's either you peg a CPU while simply scrolling, or your GPU does a small amount of power efficient, buttery smooth, work.

▲throwaway2037 2 days ago | parent | next [-]

This is a very good reply! I stand corrected, and thank you to do so in a very polite and succinct manner. A better way to think about GPUs in 2026: They are used as a co-processor and are very efficient to paint pixels.

▲ a day ago | parent [-]
[deleted]
▲hburd 2 days ago | parent | prev [-]

You can cache the glyphs in an atlas and avoid re-rendering each glyph every time. But this comes with its own complications and tradeoffs.

▲dmix 2 days ago | parent | prev | next [-]

I tried Zed quite a bit and I didn’t noticed much performance difference vs VSCode. Might be an overrated angle even though developers eat that stuff up in marketing.

▲danpalmer 2 days ago | parent | next [-]

Zed's performance only really shows in huge windows, lots of layout things going on, big files, etc. Basic usage doesn't show it on modern high spec dev machines.

▲itsTyrion 21 hours ago | parent | prev [-]

Can't confirm. Found it to be faster basically always. Starts FAST, opening a project or switching is "blink and you miss it", so is basically every dialog and menu

▲cush 2 days ago | parent | prev | next [-]

Discord is a text editor?

▲throwaway2037 2 days ago | parent [-]

Fair point. It would be better to say: "Primarily text-based GUIs". I was looking for a good way to describe apps that are not primarly showing video or rendering 3D graphics.

▲asimovDev a day ago | parent [-]

a lot of discord is non-text. People share videos and images all the time. Everyone has profile pictures and profiles are customizeable with banners and animated backgrounds. It's not an IRC chatroom app.

▲falsaberN1 2 days ago | parent | prev [-]

Oh, so the reduction in RAM usage is going to mean it's going to use my precious VRAM instead? No thanks.

▲pornel a day ago | parent [-]

If you're using an OS newer than Windows XP, then the app window is going to be rendered by a GPU-based compositor anyway. It's going to exist in VRAM either way. CPU-based rendering will just do extra work to upload the pixels to VRAM.

I don't know about GPUI in particular, but it's possible to make GPU-based rendering use less VRAM by generating graphics with shaders on the fly instead of using pre-rendered sprites/bitmaps like it used to be done with CPU-based rendering (e.g. computed gradients and drop shadows, large text rendered straight from curves instead of a prerendered atlas)

▲7bit a day ago | parent [-]

Yeah, so why not use OS then for rendering and roll your own rendering pipeline?

▲pornel 21 hours ago | parent [-]

because OSes have different UI toolkits with their own vendor lock-in, quirks, limitations, preferred languages, legacy baggage, and random bursts of "everything is now deprecated except the newest fad which will be deprecated next year" and "we're making everything flat and/or semitransparent!". Then most of the time the stock widgets are too basic to even support what Discord wants. This is an expensive PITA to develop and test for, and it's what lead app developers to run away to Electron.