为什么糟糕的软件会让你感觉需要新硬件

为什么糟糕的软件会让你感觉需要新硬件

使用现代计算机的体验常常令人沮丧地矛盾。你可能投入巨资购买高性能组件——先进的多核处理器、尖端显卡和充足的内存——却发现自己连打开文件夹或进行搜索之类的简单任务都得等很久。

根本问题通常并非硬件本身。即使是中端系统也能够相对轻松地管理日常操作。真正的罪魁祸首在于软件。多年来,软件变得笨重且效率低下,尽管计算能力和内存取得了显著进步,却忽视了优化资源利用率。现代软件并非高效利用这些能力,而是常常表现得好像拥有无限的资源可供支配,导致性能令人失望。

硬件和软件性能之间的差异

如今的计算机硬件与几十年前相比有了显著的飞跃。如今的CPU设计精巧,拥有多核和海量缓存,可以实时优化性能。更令人瞩目的是,如今的智能手机拥有的计算能力甚至超过了20世纪80年代占据整个房间的超级计算机。

图形处理单元 (GPU) 的进步更为显著。以 NVIDIA 的RTX 系列为例,它们不仅专注于图形处理,还发展成为并行处理引擎,利用专用核心(用于提高计算效率的 Tensor Core 和用于实时光线追踪的 RT Core)来处理与人工智能和机器学习相关的任务,从而实现每秒数万亿次计算。

有了如此强大的性能,人们自然会期待在操作电脑时获得流畅的用户体验。应用程序应该快速打开,界面在多任务处理时保持流畅,任务之间切换也应该顺畅。然而,现实往往并非如此。

这种情况与早期的软件开发形成了鲜明的对比。在 Windows NT 3.51 等操作系统的开发过程中,开发人员对内存和处理能力进行了精心管理。他们精心设计了适合内存占用远低于当今单个现代浏览器标签页所消耗内存的环境的系统,从而实现了在当今开发范式中几乎过时的效率:

探索 Windows 用户体验

性能滞后最突出的例子体现在现代操作系统中,尤其是 Windows。微软频繁的功能更新对 Windows 10 和 11 的核心界面响应能力提升作用甚微,导致用户普遍感到沮丧。常见的抱怨包括右键单击后上下文菜单滞后,或文件资源管理器窗口渲染不流畅。

值得注意的是,开发人员Julio Merino几年前进行的一项实验凸显了这些问题。他将在最低配置硬件上运行的旧版操作系统与在高性能机器上运行的现代 Windows 进行了比较,揭示了响应速度的显著差异。

在一项测试中,一台配备 128MB RAM 和 600 MHz 处理器的 2000 年机器,能够立即启动运行 Windows NT 3.51 的应用程序。相比之下,一台更新、性能更强大的机器——配备 32GB RAM 的 6 核 Mac Pro——却出现了延迟,因为 UI 元素会分块渲染,这充分暴露了性能上的差距:

开发人员 Theo Browne 分享的另一个引人注目的例子凸显了这个问题。他讲述了一个场景:打开一个包含流媒体录制文件的文件夹——一个简单的任务——竟然花了令人恼火的八分钟,而且右键单击时 Windows 资源管理器崩溃了。罪魁祸首是 Windows 自动解析每个文件的元数据导致的延迟,这严重影响了性能。解决方案是禁用自动文件夹类型发现,这表明用户很容易就能找到系统固有问题的修复方法。

即使是全新安装的 Windows,也常常会陷入预装应用程序、遥测系统和耗费资源的后台进程的泥潭。这种混乱会导致日常任务执行严重延迟,而许多用户依赖第三方“清理脚本”更是雪上加霜。这些脚本凸显了用户对 Windows 的不满程度,用户经常将 Windows 描述为“几乎无法使用”,除非他们删除不需要的额外程序。

搜索功能也体现了这些不足之处。搜索最近使用的文件时,你可能会发现 Windows 需要很长时间才能显示结果,通常会显示一堆不相关的网页搜索结果。许多人渴望拥有类似“Everything”之类的免费工具的即时搜索功能,能够在用户输入时快速定位文件,这与大型科技公司之一的内置搜索功能迟缓形成了鲜明对比。

回归质量标准?

越来越多的人认为,交付高质量软件的基本原则已被权宜之计所取代。那些记得过去的人会记得,软件,尤其是操作系统和主要应用程序,在发布前要经过严格的内部测试,通常能达到“黄金”质量标准。这一流程确保了软件的稳定性、完整性和发布时的准备就绪性。

以 Windows NT 4.0 或 Windows 2000 这样的系统为例,这些版本有望展现出企业级的稳定性,这得益于密集的质量保证周期,其中包括一种被称为“内部测试”(dogfooding)的做法,即甚至微软员工也必须亲自使用该软件。传统上,更新是结构良好的服务包,而不是如今源源不断的快速补丁。

如今的模式,通常被称为“ Windows 即服务”,却常常让人感到混乱。Windows 预览体验计划并非质量控制的延伸,反而似乎将测试外包给了数百万无偿参与者。用户频繁抱怨主要版本的 bug、功能损坏以及整体性能下降——未发布、未完成的产品只能在公众强烈抗议后才得到修补,形成了一种循环。这种做法并不局限于操作系统;许多游戏都体现了这种令人不安的趋势,赛博朋克 2077 的灾难性发布就是一个缩影。

这种持续的“先发布,后修复”模式让许多用户对各大工作室的开发理念产生了质疑。推迟《GTA 6》发布或许反映出 Rockstar 意识到了仓促发布的潜在风险。

同样的“从未真正完成”的心态也体现在对控制面板等旧系统进行缓慢改造以支持新设置应用程序的过程中,这一过程始于 2012 年的 Windows 8,但十三年后仍在继续。

Web 性能挑战

现代软件的性能问题不仅仅局限于桌面操作系统,也体现在网络平台上。尽管连接性和设备性能有所提升,但用户仍然经常遇到运行速度过慢且资源占用过大的网页体验。网站加载速度通常很慢,响应速度也比之前的版本慢。

这种延迟源于 Web 应用程序日益复杂的特性以及繁重 JavaScript 框架的广泛使用。虽然 React 和 Next.js 等工具显著增强了功能,但它们在较为简单的网站上的应用可能会导致代码体积膨胀和加载时间延迟。讽刺的是,这通常是出于对便捷性的开发偏好,而非项目本身的需求。

使用 Web 技术创建的桌面应用程序(例如基于 Electron 的工具 Slack)也常常会遭遇“臃肿”的问题。每个应用程序都会捆绑一个版本的 Web 浏览器,这会增加系统开销,从而减慢启动时间并增加资源消耗。

尽管如此,仍有一些例外的例子,表明不同的开发优先级也能带来性能的提升。值得注意的是,McMaster-Carr 的网站因其快速的加载时间而备受关注,这与那些采用更先进技术构建的现代、视觉吸引力十足的网站形成了鲜明对比。

McMaster-Carr 通过采用一些基础技术实现了这一点,例如强大的服务器端渲染、积极的预取策略、多层缓存方法以及严谨的资源优化。他们对速度和可用性的执着超越了现代框架的诱惑,展现了需求仍然可以决定设计。

Linux 选项:好坏参半

为了追求更流畅的计算体验,许多用户考虑切换到 Linux 等其他操作系统。许多发行版,尤其是那些使用 XFCE 或 LXQt 等轻量级桌面环境的发行版,可以显著提升旧硬件的性能,由于开销比 Windows 等功能更全面的解决方案更低,系统运行起来更加流畅。

然而,过渡到 Linux 对许多用户来说都面临着兼容性挑战,尤其是在一些常用的专业工具方面。许多重要的应用程序(例如 Adob​​e Creative Cloud 和 Microsoft Office)都缺乏 Linux 原生版本,这造成了一些障碍,导致用户在回归 Windows 之前,往往只能短暂地尝试一下 Linux。

软件膨胀和迟缓背后的原因

有了如此先进的硬件和可验证的软件及 Web 性能优化策略,人们不禁会想,为什么当代的应用程序常常显得如此迟缓臃肿。答案可能很复杂,但有几个关键因素显而易见:

  1. “消费者即 Beta 测试员”模式:大型软件公司经常将其质量保证工作从全面的内部审核过渡到公开 Beta 测试,依靠用户反馈来最终确定正式版功能。这与以往经过全面审核的“黄金”版本标准截然不同。
  2. 注重速度而非质量:当前与快速发布功能相关的压力往往优先考虑权宜之计而不是精心的工艺,从而允许臃肿的框架占据主导地位而不是进行详细的性能优化。
  3. 过度抽象:使用多层抽象虽然可以简化开发,但如果不仔细优化,可能会带来不必要的性能开销。
  4. 开发人员技能和重点:与更容易学习的集成技术和最新框架相比,内存管理和高效算法等优化技能在开发人员中变得不那么普遍了。
  5. 商业模式:当今许多软件解决方案都嵌入了为广告、遥测和用户参与而设计的功能,增加了不必要的复杂性,从而削弱了核心功能。
  6. 日益复杂:对安全性、互联网连接和处理高级图形的需求不断增加,带来了固有的挑战和可扩展性问题。

最后的想法:硬件并不总是罪魁祸首

下次您的电脑即使在执行日常任务时也显得运行缓慢,请三思而后行,不要考虑升级新硬件。您当前的系统可能拥有一些功能,尽管与历史标准相比令人印象深刻,但却因低效且臃肿的软件而陷入困境。

迫切需要的是,性能、稳定性和质量再次成为软件开发的优先事项。至关重要的是,开发文化应转向优化性能和用户体验,同时尊重用户的时间和资源限制。为了真正提供满足用户需求的软件,必须将重点重新放在提供强大而高效的解决方案上。

在这种转变出现之前,用户将继续与最强大的机器的缓慢性能作斗争,这常常导致他们认为升级是唯一的办法。

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注