写点什么

微软 Copilot 从 PWA 转向“原生”,内存占用却飙升至 1GB

  • 2025-01-16
    北京
  • 本文字数:2401 字

    阅读完需:约 8 分钟

大小:1.09M时长:06:19
微软Copilot从PWA转向“原生”,内存占用却飙升至1GB

微软对 Windows 系统中的 Copilot 实现方式进行了又一次更新。

 

去年初,微软将 Copilot 降级为渐进式网页应用(PWA)。现在,微软宣布他们将推出一个全新的原生 Copilot 应用,专为 Windows 11 设计。这标志着 Copilot 在 Windows 平台上的第四次重新设计。目前,这款所谓的“原生 Copilot 应用”已经通过 Microsoft Store 向所有 Windows 11 用户开放。

 

微软把这个版本的 Copilot 吹得好像是 Windows 一直梦寐以求的原生应用。

 

在官方博客中,微软对新 Copilot 的描述如下:“此次更新中,原有的渐进式网页应用 (PWA) 版本 Copilot 被替换为原生版本。安装更新后,启动 Copilot 时,它将显示在系统状态栏中。”

 

但实际上,新的“原生” Copilot 在性能上并没有比之前的两个 PWA 版本好。测试发现,这个所谓的原生 Copilot 其实是个资源消耗大户,活跃使用时的 RAM 消耗据说在 650MB 到惊人的 1.5GB 之间波动。

 

这让人不禁要问,微软所谓的“原生”应用,真的算得上“原生”吗?

 

半年时间,历经多次设计

 

在过去的六个月中,Copilot 经历了一系列重要的变革,其发展过程充满了反复的尝试和迭代。

 

最初,Copilot 在 Windows 系统中的集成显得有些仓促,它作为 Windows 11 的一个侧边栏功能首次亮相。

 

这个早期版本的 Copilot 并没有很好地融入操作系统的整体设计理念。它主要被用作一个简单的入口,引导用户进入 Bing Chat,但其界面设计显得笨重,菜单和按钮都缺乏精细的打磨。

 


随后,微软尝试通过更响应式的渐进式网页应用(PWA)来改进 Copilot,在这个阶段,总共经历了两个版本。

 

最初一个版本的设计与 Bing.com/chat 相似,但用户反馈这款应用在响应速度和功能完整性上还有不少问题。随后,微软再次对这个网页应用进行了更新,推出了一个外观更现代、性能更快的版本,但它的界面看起来像是 ChatGPT 的克隆版。

 


2024 年 3 月,AI 独角兽 Inflection AI 的创始人 Mustafa Suleyman 加入微软并接管 AI 部门后,他取消了之前的设计,推出了一款更像个人助理的 Copilot PWA 版本。如今,这个 PWA 版本又被所谓的“原生”版本取代。

 

这个最新的版本有着全新 UI 特性,重新设计的应用程序更加协调,拥有原生 Windows 标题栏、集成系统状态栏功能和更流畅的应用内导航。可以通过快捷键(Alt + Space)快速启动 Copilot 的紧凑视图,提供了类似 ChatGPT for macOS 的便捷性。

 


另外,Copilot 似乎与 Windows 进程更紧密地链接,至少在表面上如此,它独立于 Browser-Edge-PWA 框架运行,更接近系统级工具。使用 WinAppSDK 和 WinUI 增强功能构建,与基本界面元素的交互更加迅速,并且,后台进程确保 Copilot 不会悄然消失,它始终会显示在系统托盘中,保持一定的存在感。

 

套壳 Edge,原生的定义变了?

 

对大多数开发者和用户来说,“原生”就是那种为操作系统本地编译的程序,能充分利用操作系统 SDK 的所有功能。这样的程序有几个关键特性:

 

  • 启动快(不用每次会话都加载网页资源),

  • 占系统资源少,

  • 和硬件配合得天衣无缝,

 

从拥有更多系统级功能上来说,新版 Copilot 确实比之前的版本更加“原生”,例如,现在可以使用 Alt + Space 键盘在小型快速查看窗口中打开 Copilot,该窗口类似于 ChatGPT 的迷你窗口。

 


然而从消耗资源上来说,新的 Copilot 在性能上的表现还不如前两个 PWA 版本。经过外媒 Windows Latest 的实测,新的 Copilot 应用会消耗超过 1GB 的 RAM,平均在 500-600MB 之间。

 

使用高达 650MB 的 RAM,有时达到 1GB 甚至 1.5GB

 

那么,为什么一个原生应用会消耗更多内存?

 

据 Windows Latest 的说法,新版的 Copilot 实质上是将 Edge 集成到了应用内部:“这微软将新版 Copilot 与专用的 WebView2 捆绑在一起,这几乎就像在 Copilot 的伪装下运行 Microsoft Edge 的新实例。”

 

在 Copilot 中“本机”运行的 WebView 进程

 

也就是说,所谓的“原生” Copilot 应用是一个使用 WinAppSDK 和 WinUI 构建的 Windows 应用,其“外壳”包括窗口标题栏、图标和基本 UI 框架,但它的核心功能仍通过基于 Microsoft Edge 的 WebView 加载 Copilot 的网页(copilot.microsoft.com)。

并且,这版 Copilot 在使用过程中还会遇到与 Edge 相关的弹窗。



过往旧版的 Copilot PWA 版本(渐进式网页应用)运行方式就是这样,但当时 Copilot 只是在 Edge 浏览器自己的 PWA 框架内打开。而现在,这个 PWA 被嵌入到一个包含 WebView2 的“原生” Windows 应用中。

 

对于一些高级用户和开发者来说,如果 RAM 对你至关重要,这次更新可能会让你大出血,WebView 的开销也可能会让依赖内存空间的工作流程变得更为复杂。

 

不少网友对此表达了强烈的不满和批评。

 


一些开发者认为这根本不算“原生”开发。

 

还有网友表示,Web 开发已经破坏了“原生”和“轻量级”这些词的意义:“现在一切都是打包了浏览器的网站,这就是为什么你需要 32GB 的 RAM。”

 

“这又称为‘原生 PWA’。”

 


“这是什么垃圾。Web 框架根本就不应该存在。去他的谷歌。每个使用 CEF 或 WB2 的应用都有自己的 20MB 代码和 800MB 的 Chromium。而且他们资助了 Electron 让它失败。”

 

大家认为,这种趋势导致了应用程序体积膨胀,资源消耗增加,与用户对高效、简洁的软件体验的期待背道而驰。

 

而微软对“原生”的定义确实有些模糊,尤其是在像 Electron(用于 Discord 和 Slack)和 WebView2 这样的框架的帮助下。这些框架允许开发者使用网页技术——HTML、CSS 和 JavaScript——来构建应用程序,同时将它们呈现为原生应用。是的,它们比纯 Web 应用更好地集成,但“原生”纯粹主义者可能只会对此翻白眼。

 

参考链接:

https://x.com/WindowsLatest/status/1871299883296272771

https://www.reddit.com/r/Windows11/comments/1hkwryl/windows_11s_new_native_copilot_rolls_out_to/

https://windowsforum.com/threads/microsoft-copilots-native-update-benefits-and-caveats-for-windows-11-users.348495/

 

2025-01-16 17:4710351

评论

发布
暂无评论

离线渲染与实时渲染杂谈——从发布会上的产品展示说起

3DCAT实时渲染

为什么我们需要关注基于 EIP-3664 标准的可拆分,可组合的NFT?

股市老人

(WebFlux)002、如何打印日志与链路ID

编号94530

spring 日志 aop SpringWebflux Reactor3

云原生(十五) | Kubernetes篇之深入了解Pod

Lansonli

云原生 k8s 8月月更

王熙凤穿越到 2022 年,一定会采购的单点登录服务

Authing

MobTech ShareSDK 使用简介

MobTech袤博科技

开发者 sdk MobTech袤博科技

Redis 基础

武师叔

8月月更

《Effective Java》第9条:try-with-resources优先于try-finally

okokabcd

Java

每日一R「05」生命周期

Samson

学习笔记 8月月更 ​Rust

Spring Cloud Stream简介

阿泽🧸

spring cloud stream 8月月更

使用 JavaScript Promise 读取 Github 某用户的数据

汪子熙

JavaScript Promise 异步编程 Javascript框架 8月月更

企业中的知识管理价值是怎样体现的

Baklib

数据结构——队列

工程师日月

8月月更

纳瓦尔宝典:财富与幸福指南

石云升

读书笔记 财务自由 幸福 8月月更

企业与团队怎样建立一个有效的、切实可行的知识管理系统

Baklib

鸿蒙设备开发之从0到1联网上云-概述篇

愚公搬代码

签约计划第三季

大数据技术生态,不懂你捶我

大数据指北

大数据 大数据开发

一篇文章让你重学HTTP!

Albert Edison

https 计算机网络 HTTP 8月月更

Mysql命令大全

跳楼梯企鹅

MySQL #数据库

企业为何要实行知识管理?

Baklib

架构师第一课,一文带你玩转ruoyi架构

小鲍侃java

框架 Java web 构架 spring-boot 签约计划第三季

使用 Google Breakpad 来助力解决程序崩溃

HelloWorld杰少

ios 游戏开发 崩溃分析 google_breakpad 8月月更

Java避坑指南:Java中 java.lang.String你真的以为是不可变的吗?java11和java17是相同的结果吗?

崔认知

MyBatis(一、快速入门)

开源 springmvc Mybati 8月月更

《Effective Java》第16条:要在仅有类中使用访问方法而非公有域

okokabcd

Java

GitLab 自动删除项目?仅需四步,丝滑迁移至极狐GitLab

极狐GitLab

git DevOps gitlab 敏捷开发 极狐GitLab

开源一夏 | 腾讯云对象存储cos获取图片像素信息

六月的雨在InfoQ

腾讯云 开源 COS 8月月更

SRv6在SFC中的应用

穿过生命散发芬芳

8月月更 SRv6

RocketMQ顺序消息之消息消费

急需上岸的小谢

8月月更

微软Copilot从PWA转向“原生”,内存占用却飙升至1GB_跨端开发_Tina_InfoQ精选文章