Ask HN: What makes Windows 11 perform much worse than Windows XP?
31–40 of 109 posts
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#32There are a few reasons: 1. People expect more functionality, and that requires more processing power 2. Fancier eye candy 3. Spyware, or telemetry, or whatever else you want to call it 4. More background services are running by default
Added security layers as well. Source: Worked on developer APIs for Windows Universal Apps. Those sandboxes don't come for free.
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#33Earlier quoted context omitted.
Linux isn't afraid to break backward compatible. I'm pretty sure Win32 is going to outlive me.
Linux makes an explicit effort to not break userspace. I had a weird experience where I had to use a device stuck on a 2.6.x kernel, and I was able to run a modern distribution on top of it. Similarly, running old userlands on new kernels works just as well. The issue with backwards compatibility isn't with the kernel, but ensuring that whatever you want to run is compatible with the surrounding userland environment.…
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#34E.g.:
Visual Studio Rant https://www.youtube.com/watch?v=GC-0tCy4P1U
How fast should an unoptimized terminal run? https://www.youtube.com/watch?v=hxM8QmyZXtg
The root cause is that Microsoft simply doesn't have performance as a priority. It's not a KPI for (almost) anyone, certainly nobody in the desktop teams. Upper management doesn't prioritize input latency over telemetry or advertising "features". It's that simple. There's no pressure, no rejection of slow code, no metrics, no pride in good engineering. If it barely functions, it's good enough to ship.[1]
Microsoft employees will occasionally comment to say otherwise, but their statements are contrary to easily verifiable facts, such as massive performance degradations in trivial tools such as the new Notepad, the new Terminal, and the Calculator app.
The actual specific technical reasons include:
- Executables used to be loaded from disk one 4KB page at a time. Execution could start as soon as the first 4KB block was loaded. For a long time now, executables are digitally signed using a hash like SHA1 or SHA256, which means that large executables can't actually start running any code until the entire file is loaded. The obvious fix -- that didn't occur to anyone at Microsoft -- is to use a Merkle tree hash instead of a linear, single-threaded, whole-file hash like SHA256.
- Similarly, anti-malware like Defender will pause execution until the entire file is checked. This is often even slower than the hash check. The caching of this is poor to non-existent in practice.
- The Desktop Window Manager (DWM) performs several layers of buffering and swapping before an update gets to the screen. This has improved in very recent builds of Windows 11 but still has some overhead. An effective end-user workaround is to use a high refresh rate monitor such as the new 240 Hz OLEDs. There's a good online rant about it that can be summarised as "only Apple cares about this": https://danluu.com/input-lag/
- Heavyweight dependencies. Modern GUI toolkits like WinUI drag in half of all source code ever written by the human race if you look at them wrong. The Calculator app was taking 10s of seconds to start for some people (ultrabooks on battery) because it was loading crazy stuff like the "Windows 10 Hello for Business account recovery helper"! Why!? Because nothing is shared any more, every process loads its own dependencies... such as: HTTP client, which requires HTTP proxy support, which requires HTTP proxy auth, which requires Windows Auth, which includes Windows 10 Hello for Business passwordless auth, which requires... account recovery GUIs. For a calculator app. And the terminal. PowerShell. CLI tools in general. Etc... Yes, it's nuts. (Keep in mind each dependency must be loaded in full, hashed, signature checked, and scanned for malware!)
- Telemetry. Every team says they do it efficiently, but only after customer complaints pile up. Some teams never learn, because it's fast for them, either because they know the secret code to turn it off, or because they're 1ms away from the telemetry collection endpoint. Intel for example (a hardware company!) has multiple telemetry tools force-installed with their drivers that spend > 10 minutes(!!) of CPU time daily on my laptop. I have to go and use NTFS ACLs to block execute permissions on those things because it "repairs" itself more aggressively than Bonzi Buddy. NVIDIA injects their telemetry into third-party processes, so about 20% of the startup time of the built-in Calculator App is NVIDIA telemetry. It's not a game! It just happens to use DirectX for graphing... so NVIDIA has to know about it. Etc... Microsoft themselves are the #1 worst offender. At one point, Office + Windows had 220 separate telemetry services or endpoints that I had to track down and disable (for a secure VDI project).
PS: You know it's bad when a vendor starts releasing workarounds as a feature for the mis-features of their own product. The new Windows 11 "Dev Drive"[2] exists only as a workaround for bypassing the massive overheads of Window Defender. You would naively think that simply excluding a folder from Defender would have the same effect. Hah! No. Even the IntelliJ IDEA devs got fooled by this, their IDE has a feature[3] to exclude project folders form real time A/V scanning. This does nothing in Windows 11! All files are always scanned by Defender, even if a third-party anti-virus is installed. This behaviour is the same even on Windows Server, which is one of the main reasons that Azure DevOps build pipelines are something like 4x slower on Windows than on Linux. [4]
[1] To be fair, most software companies are exactly the same. The industry as a whole has an allergy to performance optimisation, and regularly ships billion-dollar products with performance issues in them that would blow your mind. Think of how slow Jira is, or this doozy: https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times...
[2] https://learn.microsoft.com/en-us/windows/dev-drive/
[3] https://intellij-support.jetbrains.com/hc/en-us/articles/360...
[4] https://github.com/microsoft/azure-pipelines-agent/issues/44...
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#35Earlier quoted context omitted.
I don’t remember Windows 3.11 being that performant… do you?
I do. It started up pretty quick. The hardware requirements for a "good" system were drastically different. A decent Windows 3.11 system had 16 megs of RAM... Windows XP needed at least 256 (maybe 512??). XP seemed like a pig when it first came out. Not as bad as Vista though...
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#36The SSD and GPU was fine, so I quickly changed the motherboard to a several-years old low-end dual-core Celeron I had held on to when upgrading someones PC. It didn't have more than 2GB of memory either.
Windows 8 had just been released, so I tried installing that as I had read they had spent some effort trying to make it run better on lower-end hardware.
Surprisingly, with the SSD, I could hardly notice the difference to my old box in regular use. Sure it was a tad more sluggish at certain things, but overall it ran like a champ. With the beefy GPU I could even play a lot of games at decent framerates.
I recall being quite impressed at the time.
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#37You can't compare an OS from 22 years ago to an OS from today.
Even if there was a simple definition of "worse", in this context, which there isn't, they're from completely different worlds designed for different uses on different hardware.
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#38Earlier quoted context omitted.
Linux makes an explicit effort to not break userspace. I had a weird experience where I had to use a device stuck on a 2.6.x kernel, and I was able to run a modern distribution on top of it. Similarly, running old userlands on new kernels works just as well. The issue with backwards compatibility isn't with the kernel, but ensuring that whatever you want to run is compatible with the surrounding userland environment.…
While you are technically correct, that turns it into a bit of an apples to oranges comparison with Windows because most of what we consider to be the Windows operating system would in the Linux world live in userspace. Which means that when we're comparing the user's experience of an average Linux distribution with Windows it's definitely fair to say that Linux doesn't prioritize backwards compatibility.
I do wish the tooling to make this seamless was better.
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#39Casey Muratori has some great YouTube videos (a.k.a.: rants) about the end-user visible performance degradation over the last two decades despite computers becoming 10-100x faster by various metrics. E.g.: Visual Studio Rant https://www.youtube.com/watch?v=GC-0tCy4P1U How fast should an unoptimized terminal run? https://www.youtube.com/watch?v=hxM8QmyZXtg The root cause is that Microsoft simply doesn't have performan…
Any more info on this? I now want to start looking into blocking these myself.
Thanks for the well written and informative post, I enjoyed reading it!
Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?
#40Earlier quoted context omitted.
Added security layers as well. Source: Worked on developer APIs for Windows Universal Apps. Those sandboxes don't come for free.
+1, sandboxes are really heavy performance-wise. The telemetry gets bad rep, but its impact is almost non-existent. At least for the actual telemetry. There's some functionality crap, like Bing-search in Start menu, which slows user down, because it makes a web request. But that's an actual feature. Telemetry is just sent in the background, whenever CPU is not busy.