Live data from Hacker News

Ask HN: What makes Windows 11 perform much worse than Windows XP?

news.ycombinator.com

31–40 of 109 posts

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#31
I am not sure what particular performance metric we are discussing here. I can however say that from a gaming standpoint Windows 10 and 11 perform extremely similar. This at least was the case when Windows 11 was first released and I made the switch to Windows 11 at that time. Since then, several CPU vulnerability mitigation updates have come out which reduce performance. If you are most concerned with gaming performance, you can disable many (but not all) of these mitigations. It's unclear whether your comparison includes an equally fully patched Windows 10 with all the appropriate CPU vulnerability mitigations.

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#32
post #4
post #2

There 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.

Sometimes I wonder if it hadn't been better to spend 20 years hardening the existing APIs instead of all this sandboxing upon sandboxing.

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#33
post #17

Earlier 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.…

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.

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#34
Casey 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 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?

#35

Earlier 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...

16MB for a WfW 3.11 machine was a hell of a lot at the time 3.11 was launched. Most PCs in the installed base would have had 3-4MB. New systems in 1993 were coming with 4-8MB.

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#36
I've only had one fatal PC accident, which took out the motherboard and CPU. This happened about a decade ago, CPU was an i7-870 and I ran Windows 7 on it.

The 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?

#37
This is a silly question.

You 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?

#38

Earlier 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.

However, because the kernel doesn't break userspace, you can use stuff like chroot to run old apps without a performance loss.

I do wish the tooling to make this seamless was better.

Re: Ask HN: What makes Windows 11 perform much worse than Windows XP?

#39

Casey 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…

>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...

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?

#40
post #8
post #4

Earlier 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.

There was a lot of contention when Cortana was being integrated into the start menu directly. They have very temperamental performance tests for first paint on the start menu open. Cortana caused their 250ms (or something to that number) first paint time limit to exceed to over 5 seconds for first paint. After enough grumbling, they eventually decoupled Cortana from the start menu directly. Thankfully.
Post reply on HN