Remix.run Logo
▲ pornel 20 hours ago

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 8 hours ago | parent [-]

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

▲pornel 7 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.