Comment by landl0rd
7 days ago
There's a difference between something like a transparent background (you can run i3/picom on a potato) and having to composite many little UI elements to render a frame.
7 days ago
There's a difference between something like a transparent background (you can run i3/picom on a potato) and having to composite many little UI elements to render a frame.
I can think of a couple of creative ways to dramatically optimize rendering of these effects. There is probably quite some batching and reordering possible without affecting correctness.
Ceteris paribus your performance is always going to be substantially worse even with tons of fancy tricks. Those also get much harder to implement when you're building a complete UI toolkit that has to support a ton of stuff rather than just writing first-party apps/OS components.
I think that the batching that I have in mind would work especially well with complex layouts. The thing to realize is that even if you have tons of elements on a screen, their visual components aren't actually stacked deeply in most cases and the type and order of applied effects is quite similar for large groups of elements. This allows for pretty effective per-level batching in hierarchies, even if elements don't have the same parents.
"ceteris paribus" - "all else equal"
5 replies →