Earlier quoted context omitted.
> a custom mixed immediate/retained library now with rich text and accessibility support. I'm always interested in learning about GUI toolkits that have accessibility support. What level of accessibility support does yours have? e.g. does it implement platform accessibility APIs, and if so, on which platforms? Is your library open source? If not, can I see it in action in any commercially available product? Thanks.
I haven't found good platform accessibility API bindings for C#, so right now it just has narration support, adjustable text size/contrast, and full keyboard navigation. I'm hoping that later on in my project's development process I'll have the budget to hire someone to try and fully integrate with the platform APIs - it's designed so it will be possible by pushing updates to the retained model. The way it works is t…
Leveraging Rust and the GPU to render user interfaces at 120 FPS
201–210 of 212 posts
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#202Earlier quoted context omitted.
> A measly 60 fps is plenty fast for UI that feels immediate. We had this in the 90's with software rendering, you don't need a GPU for that today. No we didn't. We had nothing close to that in the 90s. Typing was responsive, but that's not anywhere close to 60fps and a very small region to update to boot (120wpm = 600 keys/minute = 10 keys/s, or 10fps). Scrolling benefits from 60fps+, but in the 90s scrolling jumped…
60 is the new 30. Was amazed at how good my latest iPhone feels with 120hz scrolling. It's like magic.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#203Earlier quoted context omitted.
Unfortunately this isn't true anymore when you get to very high resolutions like 8k. Just clearing the framebuffer of an 8k display at 60hz requires ~6GB/s; about 1/10th of the theoretical memory bandwidth of modern desktop processors. Add in compositing for multiple windows, text rendering and none of that likely being multi-threaded it's pretty clear a CPU has no chance of keeping up.
You aren't talking about the same thing they are and you aren't talking about a scenario that exists. 8k is still exotic and no one is driving any desktop off of a video buffer going from main memory through a CPU.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#204I'm surprised nobody pointed out lite/litexl here either it's rendering of ui is very similar (although fonts are via a texture; like a game would) and doesn't focus overly on the GPU but optimises those paths like games circa directx9/opengl 1.3
There are great details of the approach taken with lite at https://rxi.github.io
Lite-xl might have evolved the renderer but the code here is very consumable for me.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#205Earlier quoted context omitted.
You aren't talking about the same thing they are and you aren't talking about a scenario that exists. 8k is still exotic and no one is driving any desktop off of a video buffer going from main memory through a CPU.
We've literally got an 8k screen in the office and 4k is becoming increasingly common. Not only is this a scenario that exists it's one I've personally experienced and fixed.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#206Lots of people nit-picking the 120 FPS but I think Zed looks super promising. The native support for collaborative editing looks fantastic, and I'm excited to try it out. Curious if you guys have thought about VR / AR possibilities with GPUI?
That would be interesting in VR to have syntax highlighting that moves variable names towards the viewer, or puts context menus with possible methods of some object above. Would probably just be stupid gimmick, but I want to see somebody do it :-D
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#207Earlier quoted context omitted.
> KiCad uses a technique using RGB for gradients so that the rendered glyphs can be anti-aliased without accidentally rounding sharp corners. This is known as a “multi-channel signed distance field”, or “msdf”. https://github.com/Chlumsky/msdfgen
Do you know any text editor that uses it for font rendering?
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#208Earlier quoted context omitted.
I know that in Windows 10+ and on UWP apps, requesting a fullscreen swapchain straight up crashes and tells you "nope, you're going to go through the compositor". But yes, alt-tabbing Source games was an exercise in patience.
Is that disabled for programs targeting older OS versions? Or are you saying that the new behavior is only for UWP apps? Because that sounds like it would break a lot of old code.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#209Earlier quoted context omitted.
Afaik egui isn't doing any kind of the fancy GPU based 2D graphics this blog post is about though.
have a look at what egui creator (and his team) been doing with rerun [0] Egui seems well suited to render even tens of thousands pointcloud with wgpu backend. [0] https://www.rerun.io/
All the visualizations like the 3D scenes with point clouds etc. are rendered with our open-source in-house renderer ("re_renderer") which itself is then passing wgpu surfaces/commands to the egui wgpu backend that composites everything together then.
Re: Leveraging Rust and the GPU to render user interfaces at 120 FPS
#210You cannot see at 120 fps.