What's the implication of using WebGPU? Better terminals in the browser? Better electron terminals? A quirk for better native portability?
Probably portability, it's a pretty good low (but not too low) abstraction layer over the systems preferred graphics API. I'm not a graphics programmer but my understanding is it's closer to vulkan or metal in terms of control over the hardware compared to OpenGL, which has rocky support on Mac now anyways.
Rio: Terminal app built over WebGPU, WebAssembly and Rust
21–30 of 134 posts
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#22[flagged]
Yeah I still can't understand the point of requiring GPU for terminals. What webgpu needed is graphics drawing applications are most graphics drawing apps on web are still using canvas 2d or SVG, not even webgl. If we are to build a graphic heavy tool like figma - all choices we have are mostly SVG.
10 years ago I was tasked with making a mobile browser game and the thing that took 30% of the time when rendering a frame were the few bits of text that were there to display the score etc.
Once we started heavily caching text, performance increased considerably.
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#23Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#24Earlier quoted context omitted.
Yeah I still can't understand the point of requiring GPU for terminals. What webgpu needed is graphics drawing applications are most graphics drawing apps on web are still using canvas 2d or SVG, not even webgl. If we are to build a graphic heavy tool like figma - all choices we have are mostly SVG.
Rendering text is surprisingly resource-intensive. 10 years ago I was tasked with making a mobile browser game and the thing that took 30% of the time when rendering a frame were the few bits of text that were there to display the score etc. Once we started heavily caching text, performance increased considerably.
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#25Earlier quoted context omitted.
Probably portability, it's a pretty good low (but not too low) abstraction layer over the systems preferred graphics API. I'm not a graphics programmer but my understanding is it's closer to vulkan or metal in terms of control over the hardware compared to OpenGL, which has rocky support on Mac now anyways.
It's not a clear win though. You gain some portability and lose some to platforms not supported by WebGPU.
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#26What's the implication of using WebGPU? Better terminals in the browser? Better electron terminals? A quirk for better native portability?
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#27My question is what's their selling point, I used the past few years few terminals that have pretty good features: - Alacritty minimal and blazingly fast - Wezterm with batteries included - Warp even batteries included
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#28edit: seems like most of the wasm stuff is some tests within this lib: https://github.com/raphamorim/rio/tree/main/sugarloaf
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#29Earlier quoted context omitted.
Probably portability, it's a pretty good low (but not too low) abstraction layer over the systems preferred graphics API. I'm not a graphics programmer but my understanding is it's closer to vulkan or metal in terms of control over the hardware compared to OpenGL, which has rocky support on Mac now anyways.
It's not a clear win though. You gain some portability and lose some to platforms not supported by WebGPU.
Re: Rio: Terminal app built over WebGPU, WebAssembly and Rust
#30There was a real push, which must be approaching a decade ago at this point, to get all terminal emulators able to understand the ITU-T T.416 control sequences for direct 24-bit RGB colour. Even if they implement it really badly, and some do, almost everyone tries to support this colour system now.
See the screenshot of the old syscons FreeBSD kernel built-in terminal emulator at https://tty0.social/@JdeBP/110424206935120790 for what I mean by really badly. It still does understand the control sequences, though.