【译论】是什么原因导致 Windows 11 的性能比 Windows XP 差得多?
操作系统是电脑硬件和用户之间的一个层级,究竟是什么原因导致这个层级的性能一代不如一代,为什么它需要越来越多的电力?
本文文字及图片出自 news.ycombinator.com
你也许感兴趣的:
- 【外评】如果您没有在 Edge 中使用必应,微软现在会说您的电脑需要 “修复”
- 【外评】Windows 10 市场份额达 70%,Windows 11 持续下滑
- 【外评】Windows 11 为何如此烦人?
- 【译文】前微软开发人员称 Windows 11 性能 “差得离谱”,即使使用怪兽级 PC 也是如此
- PC、手机互通惨败!Windows 11悄悄删除安卓子系统
- 时隔半年,Linux性能重新超越Windows 11
- 微软Windows 11轻量级系统实测:128MB内存就能跑
- Win11再次上演“大义灭亲”:智能应用控制功能拦截自家文件
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
这里其实有很多因素,但如果非要用一个因素来概括的话,那就是 “硬件能够支持”。但更重要的是
1.现代 Windows 中有很多安全缓解措施,这些措施有时会增加大量运行时开销,但却能提供重要的保护。与 XP SP1 及以下版本相比,编写针对现代 Windows 的漏洞利用程序非常困难。
2.图形更加复杂。动画、透明度和很多好东西。
3.操作系统的 “功能 “更多了。现代 Windows 不断运行着 XP 所没有的各种功能。
4.随着时间的推移,所有软件都趋于臃肿。要优化软件确实很难,成本也很高,尤其是在一个庞大而长期存在的操作系统中,其范围非常大,PM 不断希望增加新的功能。在现代硬件上充分运行时,这样做的动力也非常小。(另外,这也是我喜欢 Linux 的原因之一。那里有很多优化的动力,因此确实会出现这种情况)。
总的来说,我真的很怀念 XP。当然,怀旧是一剂猛药,但那是一款伟大的操作系统。
>2.图形更加复杂。动画、透明度和很多好东西。
强烈反对。与 XP 时代常见的完全可定制的用户界面以及大量同样非常流行的 “换肤 “相比,漂浮在平面海洋中的无边框图标无论如何都算不上 “更精致”。透明/半透明效果在 Vista 中变得很常见,而这是在 GPU 上运行的,GPU 的性能一般来说远不如现在。
我还要补充第五点:由于准入门槛低,现在的普通开发人员比 20 年前的普通开发人员素质要低得多。
有道理,看起来现代图形确实不如 Vista 时代的透明/半透明图形那么精致。
是的,我非常同意关于普通开发人员素质的说法。现在的开发人员可能会为此感到难过,但我认为这并不是大多数开发人员的错,相反,他们/我们是一个系统(如 Scrum)的产物,只有当质量和性能差到足以被许多用户注意到时,这个系统才会关心质量和性能。除此以外,你只能通过交付功能来获得晋升和良好的年度评价,而不管它们是否真的有质量/性能。
我认为 Windows 11 处理高 DPI 显示器的能力比 Windows XP 强得多,这肯定会增加图形渲染的复杂性。
这是在开玩笑吗?今天的 GPU 与我们当时的 GPU 相比,简直是天壤之别。拿 Nvidia 6600 gt 和某些 3060 相比,简直不费吹灰之力。
我们现在的个人电脑和笔记本电脑拥有巨大的原始功率,而一些更好的高 DPI 处理技术也无法解释为什么现在的一切都如此迟缓和滞后。
关于您的第五点:新一代人没有遇到老一代人必须应对的硬件限制。
因此,优化并不是新一代开发人员必须学习的技能。
新一代开发人员没有遇到老一代开发人员必须应对的硬件限制。
自计算机发明以来,每一代程序员都是如此。我的叔叔在 60 年代开始使用 Fortran IV 编程,他说当时的 “真正 “程序员都瞧不起他这样的人,因为他使用的是如此低效的高级语言,却没有学会如何正确编程。
说得好)
这让我想起了自古以来就有记载的 “孩子们不再懂礼貌了”。
> 由于进入门槛低,现在的普通开发人员比 20 年前的普通开发人员素质要低得多。
我认为,这是我们拥有大量性能低下的 JavaScript 软件的一个重要原因。
操作系统还有很多 “功能
包括你非常喜欢的一些功能,如 WiFi 支持、线程调度和挂起模式等。
XP 可以很迅捷,但我并没有忘记我那台旧 XP 双线程笔记本电脑的多任务处理能力有多差、电池续航时间不超过一小时等等。
同样值得记住的是,如今每个人总是打开浏览器。在 XP 时代,你运行的是 Firefox 1.0,一个 5MB 的程序。
XP 可以很迅捷,但我并没有忘记我那台旧 XP 双线程笔记本电脑的多任务处理能力有多差,电池续航时间不超过一小时等等。
这是硬件问题。XP 可以使用更多的内核,而且我敢打赌,如果你有驱动程序,它在最近的笔记本电脑上运行起来会比 10 或 11 好得多,电池续航时间也会更长。
>XP 可以使用更多的内核
仅适用于 64 位版本,这在 XP 的大部分使用寿命中并不常见。
几乎所有 XP 用户使用的都是 32 位版本,最多只能使用两个内核。
使用精选的 2014 年 PC(这是你能买到的仍然支持 XP 的最新 PC,而且很容易获得合适的 XP 驱动程序),仍然可以进行很多直接的性能比较。这些电脑是第一代消费者/企业 UEFI 电脑,最初装有 64 位 Windows 8。不过,如果你想安装 W7、Vista 和 XP,或多启动它们,它们仍提供相应的驱动程序。此外,当 Windows 10 成为 Windows 8.x 的 “最终 Windows 版本 “时,它也是首批有望迁移到 Windows 10 的目标机器之一。
但如果你不需要超过 3.x GB 的内存,并尝试使用 W10 32 位系统,你可能会发现它比 W11 慢很多。这一点谁也无法否认。
反过来说,在相同硬件(包括固态硬盘和高清显卡)上使用 XP 32 位系统,并安装了所有合适的系统驱动程序,相比之下,它的运行速度一点也不慢。
几乎所有 XP 专业用户都记得当时的速度,因为 2014 年的硬件比 2004 年或 2010 年的性能要高得多。
只需两个内核,它就能让其他一切都望尘莫及。
当然,同样硬件上的 Windows 98 除外,甚至没有适当的系统驱动程序(自然只能使用单核心),但为此你必须移除除 1GB 内存之外的所有内存。
几乎所有 XP 用户使用的都是 32 位版本,最多只能使用两个内核。
这种错误信息从何而来?在 2000 年代末,四核 Q6600 当时非常普遍,它们在 32 位 XP 下肯定有全部 4 个内核。
我认为这是对处理器限制的误解。我找不到官方文档,因为每个人都会链接到一篇知识库文章,这篇文章过去肯定显示过,但现在却在谈论虚拟内存…
但 XP 文档中提到的处理器数量限制是插槽数量的限制。如果你有一个旧的四奔腾 2 系统,有四个插槽的处理器,XP Pro 只能在其中两个上运行,因为它有两个处理器的限制。但多内核/线程则有不同的限制,我找不到。Home 可能是单插槽?
有些人可能试图在虚拟化环境中运行它,但没有注意将虚拟化 CPU 设置为单个插槽中的内核,而不是多个插槽。
我妻子的新笔记本电脑(某个宏基公司的产品……)预装了 Win11,无法休眠。而我装有 WinXP Tablet 的旧 Tinkpad X60 却能做到这两点。所以……这个理由不成立。
“比如 WiFi 支持、线程调度和挂起模式,这些都是值得一试的”。
线程调度从 NT 3.51 开始就存在了。
Wifi 在很大程度上只是另一种网络适配器。
XP 支持与当今系统相同的 “挂起到内存 “和 “休眠到磁盘 “模式。
“但我并没有忘记我那台老 XP 双线程笔记本电脑的多任务处理能力有多差”
尽管某些处理器供应商告诉你,线程数是由每个运行程序决定的。不管你说的 “多任务处理能力差 “是什么意思,你可能是内存不足。
操作系统的改进对电池续航时间有帮助,但大部分明显的改进都来自于电池耗电量的减少。
“在 XP 时代,你运行的是 Firefox 1.0,一个 5MB 的程序”。
5 MB 从来就不是对进程内存的现实估计。
> 5 MB 从来都不是对进程内存的现实估计。
他们可能是指 “Firefox Setup 1.0.exe “是 5 MB。
在 Windows 中,”睡眠 “功能变得越来越糟糕。很多人抱怨本应处于休眠状态的笔记本电脑在背包里一夜之间就被煮死了。
我还认为值得考虑的是底层硬件的变化。现代笔记本电脑不再使用旋转硬盘,电池容量可能大得多,CPU 也更善于在可能的情况下进入低功耗模式。
我的笔记本电脑在背包里 “睡觉 “时过热,大概是第三次了,我决定把它退掉,换一台 MacBook。
我工作用的 Mac 似乎从未过热过,但如果我对它休眠时的运行情况不加注意,当我从包里拿出来时,它经常会发热和没电。如果 Outlook 还在运行,那就要小心了。
在 2024 年,”合上盖子就能正常休眠 “竟然成了笔记本电脑的竞争优势。我的 X1 Carbon 总是把自己烤在背包里,但我的新工作 Mac 到目前为止一直很完美。
“现代休眠 “就是个骗局。现在安全挂起 Windows 机器的唯一方法就是进入注册表,重新启用休眠。
的确如此。我的理解是,这是(主要)英特尔的硬件问题。在 Linux 上睡眠也很糟糕,这就是原因。
基本上
https://learn.microsoft.com/en-us/windows-hardware/design/de…
Linus tech tips 制作了一些关于该主题的视频。但基本上,这显然可以归结为,微软希望通过操作系统来控制系统的电源状态,而不是依赖不同制造商在 BIOS 或其他设备中提供的实现方式。
这样做的理由很充分,从概念上讲,这是个不错的主意,但这个功能还没有准备好,尤其是在软件支持方面。
在那篇文章的底部,有一个指向 SleepStudy 的链接,根据我的理解,这是一款软件,通过它的描述,你可以追踪笔记本电脑在背包中发热的原因。
归根结底,这可能与软件(你运行的任何程序)、操作系统、BIOS 或真正的硬件有关。这可能会让人很难理解问题的真正原因。
如果是这种情况,那么基于英特尔处理器的 MacBook 也会受到影响,但这种情况似乎并不普遍。
> 不久前,我在工作时从垃圾桶里捡到一台 1998 年的旧 P2 笔记本电脑,在上面安装了 Win 98。这台笔记本也能使用 WPA2 进行无线上网。虽然设置起来很麻烦,而且需要第三方软件才能建立连接,但除此之外,它就像其他网卡一样工作。
在看过一些内核代码后,我想补充第 4 点。有很多代码是重复的,当新的开发人员或团队加入时,他们往往只是重新发明轮子,而不是使用现有的内核功能。
我猜,30 年前的 15 位 NT 开发人员中的大多数早已离开。
Linux 不怕打破向后兼容。我敢肯定,Win32 会比我活得更长。
Linux 明文规定不破坏用户空间。
我有过一次奇怪的经历,我不得不使用一个卡在 2.6.x 内核上的设备,而我却能在它上面运行一个现代发行版。
同样,在新内核上运行旧的用户空间也同样有效。
向后兼容性的问题不在于内核,而在于确保要运行的内容与周围的用户界面环境兼容。例如,动态链接会破坏向后兼容性,但这是 Linux 上面的问题。
虽然从技术上讲你是对的,但这与 Windows 的比较就有点 “橘生淮南则为橘,生于淮北则为枳 “了,因为我们所认为的 Windows 操作系统,在 Linux 世界里大部分都是用户空间。这意味着,当我们将普通 Linux 发行版的用户体验与 Windows 进行比较时,可以说 Linux 并不优先考虑向后兼容性。
就在昨天,我从 GOG 购买了一款游戏,由于不知道预期的平台配置文件是什么,Linux 版本无法启动。也许,从技术上讲,我本可以解决这个问题。在 Wine 中,Windows 版本可以正常运行。
不过,由于内核不会破坏用户空间,因此你可以使用 chroot 等工具运行旧版应用程序,而不会造成性能损失。
我真希望能有更好的工具来实现无缝连接。
假设你能通过依赖性地狱,因为你不能在新发行版上使用旧软件包,所以在大多数情况下,你必须通过源代码编译……我曾尝试运行 XMMS,但吃了不少苦头。
如果使用 chroot,这应该不是问题。
最好使用容器。
Distrobox[1]可以自动将过去十年左右发布的流行发行版安装到容器中。
尤其是游戏,Proton[2](针对游戏的 Wine 分支)或 Steam 容器运行时[3](针对原生 Linux 游戏)也值得一试。
对于非 Steam 游戏
1.安装并运行 Linux Steam 客户端(需要 Steam 账户)。
2.将游戏添加到 Steam 库:”添加游戏”→”添加非 Steam 游戏…”,选择游戏可执行文件。
3.3. 右键点击游戏,选择 “属性”→”兼容性”→”强制使用特定的 Steam Play 兼容性工具”,然后选择 Proton 或容器运行时的版本(最新的非实验版本可能是合理的默认值)。
4.4. 确保已安装所选的质子或容器运行时版本。默认情况下,Steam 库中应该可以安装这些软件。如果找不到,请单击 Steam 库中搜索框上方的下拉菜单,确保勾选了 “工具”,并确保禁用了 “只显示可播放游戏 “选项(下拉菜单右侧圆圈图标中的 “播放 “箭头)。
5.从 Steam 库中启动游戏。
[1] https://distrobox.it/compatibility/#containers-distros
[2] https://github.com/ValveSoftware/Proton
[3] https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/b…
为什么会被降权?在我看来,容器(尤其是现在有了发行版盒子)是解决这个问题的好方法。我一直在使用它,感觉非常棒!
如果你还没有查看过,如果你发现自己需要使用 chroot,systemd-nspawn 绝对是不可多得的好帮手。
将它与 QEMU 的 usermode 仿真 + binfmt-misc 结合使用,你还可以为其他架构运行 chroot。
这要看情况。首先,我认为内核这一点很重要。
其次,在 Wayland 之前,X11 还创造了疯狂的向后兼容性。你可以运行几十年前的 X 应用程序。
向后兼容性较差的是桌面库,如 GNOME 和 KDE 生态系统中的桌面库。
即便如此,旧库仍然可以使用。如果你愿意,可以保留它们。
的确,有了 Distrobox 这样的工具,让 Fedora 40 主机系统运行为 Fedora 17 编译的应用程序真的很现实。与此相关的消息是,在主机上使用 RHEL 已经不再那么痛苦了。桌面系统终于真正从容器(包括 flatpak)中受益了!
尽管如此,GNU/Linux 也变得越来越臃肿和缓慢。
再加上向后兼容性。他们增加代码,却从不删除代码。
什么?在 Windows 上,很多东西都已丢失(”被拿走”)。
我能想到的就有几个:
例如,64 位版本无法运行 16 位应用程序(包括 MS-DOS 软件),这让那些从来不知道自己还需要这些东西的人失去了很多东西。
从 Vista 开始,旧版的 Windows 帮助系统消失了,这导致大量仍在使用的软件(包括我自己花钱买的 QuickBooks)无法使用在线文档。
基于 UNIX 的应用程序子系统已不复存在。以前有,现在没有了。
32 位硬件兼容性:在 Windows 11 中消失(Windows 10 也将在一年半后退出历史舞台)。
OS/2 二进制兼容性:Windows 包含在基于 NT 的版本中运行 OS/2 软件(部分)的功能,直至(包括)32 位 XP。
这只是我这个完全非专业人士能直接想到的一些东西。
也许这些都是垃圾,也许很有用。也许这些东西消失了会更好,也许不会。
但这些都是曾经存在过的东西,现在已经不复存在了。
Windows 11 无法运行大多数 DOS 或 Windows 3.1 或 Win16 Windows 95/98/ME 程序。
XP 可以。
W10 32 位在启用 NTVDM 后仍会这样做(W10 仍在运行),因此在这方面的工作原理与 XP 相同。
会的,但使用的方法不同。
新的基于 ARM 的 Windows 系统不也会这样吗?
是的,这很烦人。
在我的用户界面中,没有动画、透明度和圆角,我也能愉快地生活。
我不知道我不能没有哪些新 “功能”。我不使用后台索引/搜索功能,我关闭了 Cortana,尽量停止后台功能。
也许还有一些来自底层平台的压力–现代电脑似乎比我们以前运行 XP 的电脑更复杂。
要做的一件事就是关闭不必要的服务和启动程序。一旦这样做了,系统就会变得快得惊人。最近,我不得不在一台全职工作的机器上只安装 Chrome 浏览器,而不安装其他程序。我最终使用了 Win10 系统(Win11 不支持主板),并卸载了默认激活的所有程序。我还设置了自动登录和快速启动。系统最终在几秒钟内从冷启动启动,并在显示器完全打开并显示某些内容之前进入桌面。
禁用服务时要小心。在另一台机器上,我禁用了 Windows 应用商店,因为我觉得我永远不会用到它,后来花了几个小时调试为什么我从网上下载的一个应用程序无法安装,并出现了一个奇怪的错误。可以尝试每天关闭/禁用/卸载一个服务或程序,并记录下自己的操作,以防第二天需要逆转某些故障。
>在一台全时工作的机器上只安装 Chrome 浏览器,不安装任何其他程序。
如果你真的缩小了使用范围,就可以禁用各种占用内存和分散处理器注意力的东西。
我刚刚也为某人做了这件事。他之前使用的是 W11,但网络平台刚刚改变,他们突然无法让 Edge 不再干扰预期的工作流程了。
雇主只声称支持 W10 和 Chrome 浏览器,所以我就为多启动菜单做了这个。
我只分区了 32GB 的空间,而且只用了一半左右,除了 Chrome 浏览器,没有安装任何其他软件。
Edge 已被完全中和,一切顺利。
也不再有 Teams,它现在可以在浏览器中进行网络摄像。
多年前,我曾使用 Chrome 浏览器测试过一个 Linux 发行版,尽管不支持 Linux 或 Mac,但它还是能正常运行。
现在,随着这种逐步的变化,对于正在完成的实际任务而言,工人与主办公室之间的许多互动似乎已经不再是单纯的协调团队,而是都在独立完成非常类似的增值工作,而现在则是尽可能地熟悉,同时更有可能被用来培训不同的实体,以便在未来执行增值工作。
对于这类问题,Windows 11 似乎比以往提供了更多的可能性,但 Windows 10 看起来也并不逊色。
>一旦这样做了,系统就会变得快得惊人。
直到下次更新。
你们这些人告诉我,如果我买了 Windows Pro,就可以永远关闭广告。好了,更新发生了,我得到了更多的广告。
要不是有客户需要 Windows 软件,我早就用上 Fedora 了。它就是个垃圾操作系统,Linux 现在简直比它强多了。即使对奶奶来说也是如此。
另外,有没有人遇到过用户体验/用户界面方面的奇怪问题,右键点击会使文字与背景颜色相同?我在 Fedora 中没有遇到这样的 bug。
> 系统在几秒钟内从冷启动,并在显示器完全打开并显示某些内容之前进入桌面。
你是在夸大其词,还是真的这么快?如果是这样,那就太神奇了。我很想看看你的博客文章或其他东西,看看你的硬件是什么,以及你是如何做到这么快的。
一个词:NVME
我相当肯定你说的 nvme 是对的,但 GP 也提到禁用了一些服务。
> 禁用多项服务。
这一直很有帮助,现在看来是必不可少的。
我在另一个回复中提到的那台电脑,在同一个基于芯片的固态硬盘上,一个分区是普通的旧 W11,另一个分区是精心准备的全新 W10。页面文件(交换文件)和休眠已被禁用,因为内存充足,而且这是一台低能耗台式电脑,所以不需要这些功能。
冷启动时,由于有额外的分区,UEFI 固件需要多花几秒钟,但之后 W10 会在 20 秒内弹出。这不是一台功能强大的电脑,略低于中等消费水平,而且是 SATA 版本,不是 nvme。
在 W10 和 W11 之间随时重启,一点也不痛苦。
这样做的好处是可以拥有两台不同的电脑,缺点也是如此,因为你必须真正安装两个操作系统。
如果我是一个游戏玩家,我希望至少有一个操作系统是这样的,虽然经过优化,但并不完全适合家庭主妇使用。
让我想起这篇博文,它将现代系统上的现代 Windows 与 Windows NT 3.51 进行了比较: https://jmmv.dev/2023/06/fast-machines-slow-machines.html
以及 HN 主题:https://news.ycombinator.com/item?id=36503983
制作未经优化的软件成本更低。只要用户不抱怨,企业就不会对软件的速度感兴趣。
这就是为什么我们的软件速度只能让用户望而却步。
是的,以 MS Teams 为例。占用内存约 1000MB。以前的聊天应用占用的内存要少得多。IRC 使用的内存不到 1MB,当然它不能进行语音或视频聊天,但它能做一些 Teams 仍然做不到的事情。
MSN Messenger 可以在单核 CPU 上使用几十 MB 的 RAM 进行语音和视频聊天。
下面是 18-19 年前的一些有趣的线程,当时人们抱怨它使用的内存超过了 20MB:
https://www.neowin.net/forum/topic/273565-msn-messenger-7-at…
https://www.neowin.net/forum/topic/442458-msn-messenger-75-e…
有没有显示性能下降的具体基准?
我想到的一点是,Windows XP 是最后一个没有桌面合成的版本。我没有确凿的数据,但我猜它会比 Windows XP 渲染系统增加更多延迟,需要更多 GPU 内存。
https://en.m.wikipedia.org/wiki/Desktop_Window_Manager
只需比较所需的最低硬件即可。
在 XP 运行良好的硬件上甚至无法运行 Windows 11。
有几个原因:
1.人们期待更多功能,而这需要更强的处理能力
2.更吸引眼球
3.间谍软件,或遥测技术,或其他任何你想称呼的东西
4.默认运行更多后台服务
还增加了安全层。
资源:为 Windows 通用应用程序开发人员 API。这些沙盒可不是免费的。
+1,从性能上讲,沙盒确实很重。
遥测技术名声不好,但其影响几乎不存在。至少对实际遥测来说是这样。有一些功能性垃圾,比如开始菜单中的必应搜索,会拖慢用户速度,因为它会发出网络请求。但那是实际功能。只要 CPU 不忙,遥测数据就会在后台发送。
当 Cortana 被直接集成到开始菜单中时,就有很多争议。他们对打开开始菜单的第一张图片的性能测试非常不稳定。Cortana 导致他们的首次绘制时间限制超过了 250 毫秒(或差不多这个数字),首次绘制时间超过了 5 秒。怨声载道之后,他们最终将 Cortana 与开始菜单直接解耦。值得庆幸的是
必应只是一种伪装成功能的遥测技术。
有时我在想,与其花 20 年时间强化现有的应用程序接口,还不如在沙盒上再加沙盒。
我不认为操作系统会特别慢,在很多方面它都能更好地处理现代硬件。我注意到延迟差有两个特别的影响,我认为这也是造成运行速度慢的原因。
1)非本地应用程序,尤其是电子应用程序或类似程序。这些应用程序启动速度非常慢,因为它们需要调用整个浏览器环境来显示界面,因此启动速度往往很慢,运行效果也很差。现在有很多这样的应用程序。
2)CPU 功耗配置文件中,CPU 处于空闲状态并放大以提升速度,由于某些原因可能需要相当长的时间,这会导致很多 Windows 特效错过一帧并变得笨拙。这确实取决于您的处理器和电源配置文件以及核心停放设置,但多年来我一直感到困扰的是,处理器省电显然不是免费的,您会注意到它的一个方面是从空闲状态到启动应用程序或做一些有大量移动的 UI 操作。
但总的来说,我并不认为 Windows 会慢很多。它使用了更多的内存和硬盘空间,而且现在除了固态硬盘外,它确实无法在其他任何设备上运行,但省电的后果加上低效的应用程序是我注意到它不流畅的主要原因。
除非你明确说明你所说的 “性能 “到底是什么意思,否则这个问题完全没有意义,也无法回答。操作系统会做很多事情,包括在用户空间。你问题的答案可能是用户空间库如何处理并发读取的许多小文件,或者网络堆栈如何工作,或者硬件加速的用户界面动画,或者混音延迟,或者内存分配器的实现细节。
Windows 10 LTSC 的影响与 Vista(2006 年)差不多。
如果通过 msconfig.exe / autoruns.exe注意启动时的臃肿,XP 在 500MHz / 512MB 的 PIII 上运行得还不错。
在 SP3 出来之前,XP 在安全方面仍然存在重大缺陷。解决办法是保留这些缺陷,并尝试在不触及基础的情况下对其进行编码。
现在情况更糟了,因为 PC 上有更多的垃圾程序来俘获消费者的心。这就是为什么他们不再叫 “我的电脑 “了。
我在我的 x230 上使用 Windows 10 LTSC (1809) 已经好几年了,从未回头。
我也喜欢将 OpenBSD 用作桌面,但遗憾的是,我需要电池续航时间,而 Windows 在这方面优化得更好。
XP 必须在单核心、单线程处理器和 256MB 内存的机器上运行。
软件堆栈越来越深,资源消耗越来越大,操作系统的功能也越来越多。
我只经历过一次致命的电脑事故,主板和 CPU 都被烧毁了。这发生在大约十年前,CPU 是 i7-870,我在上面运行 Windows 7。
固态硬盘和图形处理器都很好,所以我很快就把主板换成了几年前升级别人电脑时保留下来的低端双核赛扬。它的内存也不超过 2GB。
当时 Windows 8 刚刚发布,所以我试着安装了它,因为我看到他们花了一些精力,试图让它在低端硬件上运行得更好。
出乎意料的是,有了固态硬盘后,我在日常使用中几乎察觉不到与旧电脑的区别。当然,它在某些方面会稍显迟缓,但总的来说运行得很好。有了强大的图形处理器,我甚至能以不错的帧率玩很多游戏。
我记得当时它给我留下了深刻的印象。
我想在讨论中补充一点,那就是整个 Windows 7 系统还在继续运行。
他们专注于许多额外的工具集,如以前的经典外壳(已被分叉以提高其可维护性),或以前的 Windows 内部工具及其集成。他们还反向移植了大量驱动程序(有大量可用的驱动程序捆绑包),使其能在现代 Ryzen 硬件上运行。
具有讽刺意味的是,很多黑客和勒索软件操作员都使用 Win7,因为它的攻击面要比现在的 Windows 11 小得多。好吧,如果他们这些天没有使用 Linux,那也就罢了。
我想听到更多…
我不确定我们在这里讨论的是什么性能指标。但我可以说,从游戏的角度来看,Windows 10 和 11 的性能极其相似。至少在 Windows 11 刚发布时是这样,我也是在那个时候转到 Windows 11 的。从那时起,一些 CPU 漏洞缓解更新相继推出,从而降低了性能。如果您最关心的是游戏性能,您可以禁用许多(但不是全部)这些缓解措施。目前还不清楚您的比较是否包括同样打满补丁的 Windows 10 和所有适当的 CPU 漏洞缓解措施。
现代 Windows 的性能非常怪异。即使是 “新的 “任务管理器似乎也很臃肿,需要花很长时间才能呈现。如果 OneDrive 同步了大量文件,Windows 资源管理器就毫无用处。
为谁 “执行”?
我敢肯定,就 M$ 而言,它的性能比 XP 好得多…
一般来说,人们不应该指望 M$ 提供性能优越的电脑。黑盒子的特性使它在很大程度上无法调整,而且它的首要任务永远是为 M$ 提供最大利益,而不是为用户…
我认为当前版本的 Windows 需要重新安装和调整。
重新安装可确保没有供应商的间谍软件,如联想超级鱼。
然后,我禁用互联网上的东西。云、Cortana、菜单开始搜索不应在互联网上搜索答案等等。
之后电脑速度应该会快很多。
我猜想回想功能也会消耗大量能源和电脑时间。
这是一个愚蠢的问题。
你不能拿 22 年前的操作系统与今天的操作系统作比较。
即使有一个简单的 “更差 “的定义,在这种情况下也没有,因为它们来自完全不同的世界,在不同的硬件上为不同的用途而设计。
一个人当然可以。在默认终端上,我按下一个键需要多长时间才能显示出来,这就是一个一致的衡量标准。
为什么界面的加载速度总是这么慢,比不上任何游戏中的视频游戏用户界面?
微软又开发了 23 年
凯西-穆拉托里(Casey Muratori)在 YouTube 上发布了一些很棒的视频(又称:咆哮),讲述了在过去二十年里,尽管计算机的各种指标都提高了 10-100 倍,但最终用户仍能看到性能下降的情况。
例如
Visual Studio Rant https://www.youtube.com/watch?v=GC-0tCy4P1U
未经优化的终端运行速度应为多少? https://www.youtube.com/watch?v=hxM8QmyZXtg
根本原因在于微软根本没有将性能作为优先考虑的因素。这不是(几乎)任何人的关键绩效指标,当然也不是桌面团队中任何人的关键绩效指标。高层管理人员不会将输入延迟放在遥测或广告 “功能 “之上。就是这么简单。没有压力,没有对缓慢代码的排斥,没有衡量标准,没有对优秀工程的自豪感。只要能勉强运行,就可以交付。
微软员工偶尔也会发表评论,但他们的言论与易于验证的事实背道而驰,例如新记事本、新终端和计算器应用等琐碎工具的性能大幅下降。
实际的具体技术原因包括
– 过去,可执行文件每次从磁盘加载一个 4KB 的页面。只要加载了第一个 4KB 块,就可以开始执行。长期以来,可执行文件都是使用 SHA1 或 SHA256 等哈希值进行数字签名的,这意味着大型可执行文件在加载整个文件之前,实际上无法开始运行任何代码。显而易见的解决方法是使用 Merkle 树散列,而不是像 SHA256 这样的线性、单线程、全文件散列。
– 同样,像 Defender 这样的反恶意软件也会暂停执行,直到整个文件检查完毕。这通常比散列检查还要慢。在实践中,这种缓存效果很差,甚至根本不存在。
– 桌面窗口管理器(DWM)会在更新到达屏幕前执行多层缓冲和交换。Windows 11 的最新版本在这方面有所改进,但仍有一些开销。一个有效的终端用户解决方案是使用高刷新率显示器,如新的 240 Hz OLED。网上有一篇很好的评论,可以概括为 “只有苹果公司关心这个问题”:https://danluu.com/input-lag/。
– 重量级依赖。现代图形用户界面工具包(如 WinUI)如果看错了,就会拖入人类编写的所有源代码的一半。对于某些人(使用电池的超极本)来说,计算器应用需要几十秒才能启动,因为它在加载 “Windows 10 Hello for Business 账户恢复助手 “等疯狂的东西!为什么?因为没有什么是共享的了,每个进程都会加载自己的依赖项……比如:HTTP 客户端,需要 HTTP 代理支持,需要 HTTP 代理验证,需要 Windows 验证,包括 Windows 10 Hello for Business 免密码验证,需要……账户恢复图形用户界面。计算器应用程序还有终端。PowerShell一般 CLI 工具等等…是的,太疯狂了。(请记住,每个依赖项都必须完整加载、散列、签名检查和恶意软件扫描!)。
– 遥测。每个团队都说他们做得很有效率,但只是在客户投诉堆积如山之后。有些团队永远学不会,因为对他们来说这很快,要么是因为他们知道关闭遥测的密码,要么是因为他们距离遥测收集端点只有 1 毫秒的距离。例如,英特尔公司(一家硬件公司!)在其驱动程序中强制安装了多个遥测工具,每天在我的笔记本电脑上花费的 CPU 时间超过 10 分钟(!!)。我不得不使用 NTFS ACL 来阻止这些东西的执行权限,因为它比 Bonzi Buddy 更积极地 “修复 “自己。英伟达将其遥测数据注入第三方进程,因此内置计算器应用程序的启动时间约有 20% 是英伟达遥测数据。这不是游戏!它只是碰巧使用 DirectX 进行图形处理……所以英伟达必须知道这一点。等等…微软自己是第一大罪人。有一次,Office + Windows 有 220 个单独的遥测服务或端点,我不得不跟踪并禁用它们(用于一个安全的 VDI 项目)。
附注:当一个厂商开始发布变通方法作为其产品错误功能的一项功能时,你就知道情况不妙了。新的 Windows 11 “Dev Drive”[2]只是作为绕过 Window Defender 巨大开销的一种变通方法而存在。你会天真地认为,只要将文件夹从 Defender 中排除就能达到同样的效果。不!就连 IntelliJ IDEA 的开发人员也被这一点给骗了,他们的 IDE 有一个功能[3],可以将项目文件夹排除在实时 A/V 扫描之外。这在 Windows 11 中毫无作用!所有文件都会被 Defender 扫描,即使安装了第三方防病毒软件。即使在 Windows Server 上也是如此,这也是 Azure DevOps 构建管道在 Windows 上比 Linux 上慢 4 倍左右的主要原因之一。[4]
[1] 公平地说,大多数软件公司都是如此。整个行业都对性能优化过敏,经常出现价值数十亿美元的产品,但其中的性能问题却让你大吃一惊。想想 Jira 的速度有多慢,再看看 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…
>例如,英特尔公司(一家硬件公司!)在其驱动程序中强制安装了多个遥测工具,每天在我的笔记本电脑上耗费 > 10 分钟(!)的 CPU 时间。我不得不使用 NTFS ACL 来阻止这些东西的执行权限,因为它比 Bonzi Buddy 更积极地 “修复 “自己。英伟达将其遥测数据注入第三方进程,因此内置计算器应用程序的启动时间约有 20% 是英伟达遥测数据。这不是游戏!它只是碰巧使用 DirectX 进行图形处理……所以英伟达必须知道这一点。等等…
有更多相关信息吗?我现在想自己开始研究如何阻止它们。
谢谢你的文章写得很好,信息量很大,我很喜欢读!
我希望能给你加 10 倍的票。
经验丰富的开发人员/前系统管理员:简而言之,它们在所有可能的方面都很臃肿,其中一个原因是软件公司、开发人员、贡献者、维护者不希望在用户说 “我不想要这个功能,因为我不需要它 “时听取他们的意见:”我不需要这个功能,因为我不需要它。”因此,他们不给用户任何选择权,让他们可以禁用、删除、移除或不安装他们不想要、不使用的功能,或者让用户很难实现这种可能性。
每当我需要一台新的笔记本电脑时,我都会删除相当数量的服务和程序,甚至在可能的情况下更改 Windows 管理器,我还会更改许多无用和/或浪费资源(CPU、电池、磁盘、网络)的默认配置。
此外,出于安全考虑,这也有助于减少攻击面。
单独来看,我删除的软件似乎无害,但实际上,它们就像大量的僵尸,会把你生吞活剥。
例如:语音控制,这只是为了解释这个概念,我从来不用它,尤其是在我的专业机器上。你能想象人们在开放空间的办公室里对着电脑大喊大叫吗?不过,也许残疾人可以依赖这项功能,所以有可能启用它是件好事,但你认为在手机/电脑/其他设备上默认安装这项功能是可以接受的吗?”是的,但它待机时只占用 0.6% 的 CPU,你太夸张了!”是的,当然,它看起来是无害的,但是,在你电脑上正在执行的数百个进程中,有多少是在执行对你有用的任务呢?另一方面,有多少是因为默认安装的,以防你是该应用程序的小用户群?
我发现 systemd-oom 在我的电脑上只占用了 0.5% 的 CPU,我有 64GB 内存和 4TB 磁盘,我的工作都是在这台电脑上完成的。我为什么需要这个守护进程?总之,你知道 AIX 是如何工作的吗?你可以为紧急 shell 预留一些内存,这样在出现 OOM 的情况下,你就可以在不中断的情况下采取行动了。再说一遍,”你太夸张了,只占 CPU 的 0.5%!!!”。是的,是只有 0.5%,但此时此刻我的电脑上有 560 个进程正在执行:如果有 100 个臃肿的软件,那么一个核心的 50%就会被相关的网络、内存、磁盘、电池等占用。再说一遍,如果有人觉得它有用,对他来说是件好事,能安装它也是件好事。
我希望能有一个真正的最小化安装模式,在这个模式下,我可以明确地选择我想要安装的内容,并且为其他人提供一个 “高级膨胀模式”,可以安装像 scratch-my-back-d 这样的实用程序,以及各种 “以防万一 “的功能。
这种 “不实用程序 “的数量在不断增加,因为有人认为这是现代用户所需要的,但实际上,如果它还能升级/更新,我就能用 20 年前的操作系统完成我的工作,只不过是以光速而已。
每当我使用带有传统软件的虚拟机时,我都会想起这一点。
我们的开始菜单会搜索互联网上的软件来建议你安装,到处都是广告、遥测、统计、复杂的图形用户界面、动画、特效,还有那些并不增加有用功能的废话。它们只是 “以防万一 “而已。
程序呢?更糟糕的是:一层又一层的实用性,加上现代的编程工具、范式和语言,实际上扼杀了程序的性能。
云计算呢?它以各种可能的无用或令人讨厌的方式插入到功能中,而这些功能根本无法从中获益。
网络应用?我敢肯定,10 年前的浏览速度更快!原因都一样。
可悲的是,对于 Windows / MacOS 等商业操作系统来说,你最终要为软件、硬件和电力付费,而这些软件、硬件和电力执行的任务并不是你想要的,也不是你需要的,而且,除了少数例外情况,20 年前你用 XP 做的同样的工作现在速度更慢了。Linux ?主要的发行版正在变得与商业操作系统无异,至少你不用为软件付费。
我听到越来越多的人说”我想迁移到 OpenBSD。你不想吗?
“但现在你有了 wifi、超大 xd VGA 等等等等”。
当然,我也有一个 20 核处理器、64GB 内存和一个 8GB 内存、2 个高端 NVME 的怪兽级显卡,但在我删除笔记本上的大量臃肿软件之前,我在终端上按下每个键都会有半秒的延迟,完整的故事就在这里:
https://news.ycombinator.com/item?id=40110342
最后,现代操作系统的现状让我两次感到愤怒。请尝试在谷歌上搜索 “Ubuntu 22 在现代硬件上运行缓慢 “或类似内容。
我听越来越多的人说,”我想迁移到 OpenBSD”:”我想迁移到 OpenBSD。你不想吗?
附注:关于专业版的现代概念,我想在这里补充一句:我也有苹果电脑,比如 MacBook Pro。如果我把过去的 MacOS 版本(比如Snow Leopard)与现在电脑上使用的版本(据称是专业版系统)进行比较,新版本是否能改善我的工作?因为这意味着 “专业”,对吗?你在工作中使用的东西,对吗?真的,不,让我们补充一些细节:- Snow Leopard给我的感觉是速度很快,这只是在开始的时候,在对使用中的操作系统进行了一些服务升级之后,臭名昭著的彩虹盘就开始出现了;
– 在Snow Leopard上,我可以使用 dtrace/dtruss,而在这里,如果我要调查一个应用程序,我必须重启系统,禁用 SIP,然后等待问题显现。这太愚蠢了,我的意思是强迫专业人员遵循这一工作流程,剥夺他在自己系统上的 root 权限。想象一下,如果 Linux 决定这样做,你必须重启服务器才能使用跟踪功能。
– 在 Snow Leopard 中,它已被集成,而现在我不得不安装 XQuartz,据我所知,这是一个单人项目,它意味着所有的问题(我要感谢维护者最近的错误修复,解决了我的问题); – CUDA:我无法在 MAC 上使用 CUDA 这一行业标准,我本来可以在以前版本的 MacOs 上使用它,直到苹果公司认为它对我们不利,并宣传我可以在 Mxxx 处理器上完成与高端 GPU 相同工作的妄想。
– ZSH:不知从何时起,苹果也认为 BASH 对你不利,使用 ZSH 会让你的生活更美好。于是,我们抛弃了一个统一的标准工具,改用一些时髦的东西,方便脚本小子们在上面使用五颜六色、荧光闪烁的光标!显然,它与 BASH 并不完全兼容,所以你应该修改你的脚本以符合标准。幸运的是,Bash 可以恢复。
因此,与 10 年前的版本相比,我在这个现代操作系统上能做的事情要少得多。不过,现在它的颜色更鲜艳了,这对你的心情很有好处。同样,我的感觉是,在雪豹系统上执行同样的任务,速度会慢一些。
专业版是否增加了一些专业工具、功能或其他东西,以提高我的专业经验或工作效率?没有。
那么,”专业 “这个形容词的合理性何在?在我看来,这更像是营销噱头。我觉得自己的工作效率降低了,但我有 Apple TV、Siri 和大量专业机器上应该有的臃肿软件,有时还有通风口。是的,专业版和非专业版的区别有时在于专业版可以更好地散热。
想一想吧。
答案将与您提出的 “Windows XP 的性能为何比 Windows 3.11 差这么多?
但 3.11 和 XP 之间的差距约为 8 年。XP 和 11 之间的差距是整整 20 年。
我不记得 Windows 3.11 有这么好的性能……你记得吗?
我记得。它启动得很快。好 “系统对硬件的要求有天壤之别。像样的 Windows 3.11 系统需要 16 兆内存…而 Windows XP 至少需要 256(也许 512?)XP 刚出来的时候就像一头猪。不过没有 Vista 那么糟…
在推出 3.11 版本时,16MB 的 WfW 3.11 机器已经非常大了。大多数装机量为 3-4MB 的个人电脑都是如此。1993 年的新系统都配备了 4-8MB 的内存。
是的,我同意!我说的是 “不错”…我记得我在 1994 年年中买了一台 486,它有 8 兆。如果我记得的话,我早期的 386SX 盒子只有 4 兆。16 兆肯定是更高端的了。
我曾在 Am496DX4(100MHz)上运行过 Win310,内存为 4MB FPM。我不记得我抱怨过它慢。
我记得第一次抱怨速度慢的是 Win98 的开始菜单。Win95 将其全部保存在内存中。每次用户点击 “开始 “时,Win98 都会读取所有 .lnk 文件。由于文件不在缓存中,首次打开速度非常慢。大约有 2-3 秒的延迟,而 Win95 则是瞬时的。
是的,Win98 看起来确实很慢…另一方面,Win95 的硬件要求与 Win 3.x 基本相同。内存为 64 – 128 兆的系统开始普及。
在 98 到 99 年间,我曾在一家 “初创公司 “工作(我打了引号,因为它实际上是一家假装初创公司的中型公司的子公司)。我们对应用程序的要求是 Windows 98,最低内存为 64 兆。我们的测试实验室里有很多这样的系统,但基本上都不够用。作为开发人员,我们在 Xeon 台式机上运行 NT 4,内存为 128 兆。那是相当敏捷的系统。
我不记得它们之间的差别有多大。
试试在装有 3.1 的机器上运行 XP。
你可以在 80286(一台根本无法运行 XP 的机器)上正常运行 Windows 3.11。您也可以在内存不足 4 兆的机器上轻松运行 Windows 3.11。所以,没有什么可争论的。
但如果把内存提高到 XP 可以承受的程度,也许是 64 或 128 兆,那么 Windows 3.11 和 XP 在运行速度上就没有太大区别了。(如果同时运行多个程序,XP 肯定会胜出。Win 3.11 的多任务处理能力太差了。
我还没发现 XP 和 11 的性能有什么不同。