4 ms·
I believe it's attributable to "wider" vs "taller" software development. As in, software using more cores, running more background processes, intermittently acc
by crq-yml 3y ago
I believe it's attributable to "wider" vs "taller" software development. As in, software using more cores, running more background processes, intermittently accessing I/O more frequently, vs software that does a single task more intensively like a game.
Games can be parallelized, but in a relatively tight way: the game just has to coordinate the physics/AI stuff with the rendering stuff. The rendering is defined in a way that lets it consume most of the resources. Games on old CPUs do hit thresholds where they stop being playable, but they are fairly concrete boundaries where that number of cores and clocks just won't hit the pacing needed for that level of detail.
But the general operating system layer has made a point of pushing both power and responsibility onto userspace applications, and allows them to be helpful and do things in the background. The applications in turn are doing a lot of redundant, overlapping work - no unified methods of serializing and communicating, polling for events, contra-user telemetry and the like - so the end result is a pileup of background load that can kill the experience.
The switch to the SSD era cured one aspect of this - background storage accesses - but just brought on different bottlenecks with memory, core, and network utilization.
The way it might be addressed is to give the OS relatively greater, higher-level responsibility and supersede more of what the applications are doing. The open-source/free-software space has a better chance of accomplishing this because, while it usually develops at a slower pace than a commercial company, it's more "sticky" in terms of accumulation at the base layer and fixing root causes instead of hacking around them. And people generally do report that installing Linux is a speed-up for their old device; when you run a contemporary Linux distro you get a lot of software that has been properly domesticated to the environment, and therefore doesn't turn into a burden.