And then doing the same for Bluetooth.
And then doing the same for screen rotation and rotation lock settings. And sound settings, And then another set of settings. And another set of settings. All from different places of the system configuration while still having the backwards compatibility of all those old systems.
It's not a slowness on painting it. It can do that at screen refresh rates no problem. It's a question of querying all these old systems which often result in actual driver queries to get the information.
43fps? Sure sounds slow to me. Why not 333fps on that hardware? So bloated, so slow.
And yes it should cache that info. We're talking bytes. Less than 0.0001% of the available memory.
Things were different on old hardware because old hardware was over 1000x slower. On modern hardware, you should expect everything to be instantaneous.
Sometimes the devices and drivers just suck. Sometimes it's not the software's fault it's running at 43fps.
I'm hitting the little quick settings area on my exceptionally cheap and old personal laptop. I haven't experienced that slowness once. Once again I imagine the other stuff running interrupting all the OS calls and what not loading this information causes it to be slow.
I routinely have shy of 100 network interfaces active and `ip a` is able to query everything in nanoseconds.
And once again, on some Linux machines I've had over the years, doing an ip a command could hang or take a while if the device is in a bad state or being weird. It normally returns almost instantly, but sometimes has been slow to give me the information.
IIRC it ran at 76 fps (higher than monitor refresh, one of the locally optimal frame rates for move speed/trick jumps) for me back then on something like an GeForce FX 5200? As long as you had a dedicated GPU it could hit 60 just fine. I think it could even hit 43 (another optimal rate) on an iGPU, which were terrible back then.
In any case, modern software can't even hit monitor refresh latency on modern hardware. That's the issue.