2022 年,ARM Windows 笔记本能用了吗?
故事开始,还得从 2020 年 11 月苹果发布会说起。那天,M1 芯片正式发布 ,将 ARM 芯片的笔记本电脑带入寻常百姓家,以超高能效和超长续航一举成名,彻底改变大家对 ARM 的印象。偷偷嘲讽 Mac 用户没游戏玩时,我内心不免好奇:这是什么来自西方的神秘魔法?ARM 桌面处理器居然这么神奇??直到那时,搭载 ARM 处理器的 Windows 设备才正式进入我的视野。
然而,苹果对于穷学生来说实在是太遥不可及,当时我才刚入手 LG Gram 五个月,对它抱有相当好感,再加上各种渠道听说 ARM Windows 笔记本搭载的
太长不看:能用了吗?
能用了,甚至很好用。许多软件都提供 ARM 支持,x64 软件通过转译也能正常运行,除 Canon 的打印驱动外几乎没有不兼容。这里是常用软件及 Windows on ARM 体验对照表,后面 体验 部分有各种场景的综合体验评分,可以作为参考。
等级 | 软件 |
---|---|
原生 | Office, Typora, Firefox, Photoshop, 三星笔记 (UWP), OneNote (UWP), Apple Music (WSA), 网易云音乐 (UWP), Visual Studio 2022, Visual Studio Code, Syncthing, PowerToys |
好用 | Telegram, Bilibili (UWP), Git, Gpg4win, win-gpg-agent, Snipaste, steamcommunity 302, Wolfram Engine, 嘉立创 EDA |
不好用 | Affinity Photo, QQ / TIM, Altium Designer 22 |
不能用 | Canon CAPT, AutoCAD 2023 |
你这电脑是 i7 还是 R7 啊?
都不是。
这台 Surface Pro X 搭载了骁龙 8cx 换皮版:微软 SQ1 SoC,有四颗 Cortex-A76 大核和四颗 Cortex-A55 小核,基于台积电 7nm 工艺打造,约为天玑 1100 或者苹果 A11(iPhone 8 / X)水平。GPU 是高通 Adreno 685,855 上那颗 Adreno 640 的超级加倍版,微软说运算速度可达 2TFlops,极限性能略高于苹果 A14 (iPhone 12 / iPad Air 4)。它拥有 16GB 板载内存,256GB 可更换 M.2 SSD,以及 X24 LTE 基带,可插 SIM 卡保持随时在线。
微软对 Surface Pro 系列的定位是二合一笔记本,Surface Pro X 自然没有免俗,和家族其他成员一样,本质是一台可接磁吸键盘的平板,拔下键盘随时变身 iPad Pro Max。这种设计有好有坏,好处是本体发热不会影响键盘输入,同时更灵活,可以针对场景随意切换,坏处是磁吸键盘 + 屏后支架设计导致整台笔记本压力全都加在支架上,压强很大,并且没有常规笔记本转轴稳定,以至于每次把 SPX 放在腿上打字,腿都会被摁出压痕;并且不能直接端起键盘换姿势,非得全部抓起来一起挪,完事儿了还得把手伸到屏幕后调支架。Surface 品控一如既往垃圾,屏幕有明显亮斑,好在据上家说它并没有扩散。当然,除品控外,这些都是个人习惯差异,度过适应期就好,它搭载的系统更值得关注。
你这平板系统是 iOS 还是 Android 啊?
也都不是,毕竟如标题所示,这是一台搭载 Windows 的 ARM 笔记本。
这并非 Windows 首次与 ARM 结合。先不说 Windows Phone,早在 2011 年,微软就 宣布 了运行在 ARM 处理器上的 Windows PC ——那还是乔布斯年代。不久后,Windows RT,一款为 ARMv7 架构开发,不兼容 x86 和大部分桌面应用,只能使用商店或自带软件的系统,随 Windows 8 一起发布。可想而知,作为 Windows,兼容性高位截瘫等于自杀。Windows RT 设备除首发五台外只有微软自己做了两台,仅仅发布一年后,它们纷纷大幅降价,几乎退出历史舞台。
微软并没有因此挫败太久。2016 年末,微软宣布将与高通合作,在 2017 年将 x86 模拟带给 ARM 设备。尽管它如约而至,x64 应用运行能力的缺失,在不少生产力应用都主推 64 位时,成为了足以影响用户选择的遗憾;好在随 Windows 11 发布,x64 模拟正式释出,ARM 笔记本发展最后一道障碍终于被解决。Win11 还带来了
应用没问题,游戏呢?事实上,原生支持 WoA 的游戏已经有 数百款 ,虽然比起 Steam 庞大的游戏库来说九牛一毛,并且 Windows RT 历史遗留也在其中,但至少说明 ARM 没有被游戏世界抛弃。通过转译,部分非原生游戏能在 ARM 设备上顺利运行,得益于高通强大的 GPU 性能,还能跑得挺好。
去年,微软推出 ARM64EC ,无需重构所有代码,可直接混合开发 x64 与 ARM64 应用,编译结果可以同时在 x64 和 ARM64 设备上运行。它允许开发者优先转换对性能影响最大的部分,剩余部分直接交给转译,大大提高开发效率;上半年 Build 大会上,微软 宣布 了一系列对 ARM 的方案,其中 Project Volterra,基于骁龙 8cx Gen 3,配备 32+512GB 仅售¥4000 出头的 Windows 开发者套件,已在不久前正式发售,可以查阅微软员工的 评测 。
可以看出,失败经历并没有影响微软推广 ARM 的决心,不过「不看广告看疗效」,在祭出这么多大招之后,WoA 实际体验究竟如何?
你这 Windows 平板好用吗?
「好不好用」更偏向于主观评价,与不同人群对笔记本的要求息息相关。因此,这一部分将从不同方面,描述我这段时间不同场景的使用体验。同时,每节标题都有一个打分,作为主观粗略评价。
续航 + 散热:★★★★★
这是 ARM 笔记本目前最大优势,没有之一。ARM 处理器不会像 x86 那样疯狂拉睿频,同时因为是手机处理器魔改,极限功耗相对较低,对移动设备更友好,可以直接做成被动散热。除开繁重的编译任务,使用过程中没有明显发热,尤其是将 Surface Pro X 作为传统笔记本使用时,手能够碰到的位置只有键盘触控板,它们内部都没有热源,比起传统笔记本,不发热的键盘区域显然更加舒适。
Win11 还带来了针对大小核优化的调度和 EnergyStar 。前者是 Intel 异构红利不必多说,后者能够在离电状态下自动使后台进程省电运行,只让前台进程吃性能,实现类似 macOS 的进程管理能力,对续航大大有利。开启 EnergyStar 时,摸 2h 鱼才掉电 20% 不到,妥妥续航一整天。
办公:★★★★
这可是微软平板啊,办公体验怎么可能糟糕?Office 三件套运行表现良好,对于轻度办公来说很好用,唯一问题是 Excel 作散点图可能出现莫名其妙的线条,表格一刷新又会消失,估计是 Excel bug,可以接受。
如果写作也是办公,Typora 体验不错。它是基于 Electron 开发的网页应用,开发者只需要把内嵌浏览器内核换成 ARM 版本即可,用户开箱即用,很舒服。
可是打印体验是真一言难尽。我日用的 Canon LBP6200d 需要专用
网页浏览:★★★★
作为坚定 Firefox 用户,一直稳定地用着 ARM64 版本 Firefox,没有遇到任何兼容性问题的我,写到这里才听说 Chrome 似乎还没提供 ARM 版本…长点心吧 Google,这里扣掉一分。Firefox 体验非常良好,完全感觉不出和 x64 有什么不一样——当然本应如此。
值得一提的是,Surface 触控笔是电磁方案,而非 iPad 及国产平板触控笔的电容方案,好处是屏幕上有一层电磁层,笔尖指着屏幕会出现指针,可以作为鼠标使用,鼠标悬浮触发的菜单在触控时可以用笔展开,这才是平板浏览网页该有的姿势嘛。
另一个我想吐槽的点,同样放在这里:Windows 不像 Android 和 iOS 从设计之初便考虑屏幕键盘,平板模式下,Windows 屏幕键盘其实是先调整窗口大小并打开键盘窗口,关闭屏幕键盘时将窗口还原。这一点在其它应用里影响不大,唯独 Firefox 窗口模式会在 Tab 栏左边加一小块边距,Firefox 又碰巧是最大化最频繁应用之一,平板模式下一碰到输入框,Tab 栏就会闪一下露出边距和屏幕键盘,收起屏幕键盘 Tab 栏又闪回去,而且部分网页会在窗口大小改变时重绘,体验弔差,难道你们 Windows 没有窗口置顶吗,不能用窗口置顶做屏幕键盘吗……
图片编辑:★★★
考虑到我每出一趟门都会生产一堆 RAW 文件,RAW 编辑是重中之重。好在「好用」说不上,对于简单处理,至少「能用」。
Affinity Photo 只有 x64 版本,而且 RAW 编辑功能堪称残废,在试用中还会出现严重卡顿,并且调整参数后居然图片居然一块一块刷新,非常震撼,强烈不建议使用。
还是看看远处的 Photoshop 吧家人们。Adobe 官方提供 ARM 版本,可惜因为
社交:★★★
非常遗憾,QQ (TIM)、微信与 Telegram 均未提供原生 ARM 版本,商店也只分发 x86 转制或者桌面版,因此它们必须转译跑。Telegram 体验良好,x64 版本很好用;微信…我不用桌面版,一些新闻稿说还可以;QQ (TIM) 由于历史包袱以及设计问题,启动会拉起好几个 exe,运行效率较低。如果手动为 QQProtect.exe
设置严格的转译策略,可以直接把它扼杀在摇篮里,算是件好事。QQ 修改版经测试不能运行,如果有相关需求可以打住了。
顺带一提,WSA 同样可以安装社交软件,不过桌面端应用已经能够满足需求,我没有进一步尝试。
学习:★★★★★
网课方面,这几天我没有用到腾讯会议,据群友说很好用;学习通这种网页不必赘述。
如果要做笔记,微软自带的 UWP 版本 OneNote 比较好用,但是不如通过拉取商店安装包,直接安装即可使用的三星笔记。前些日子微软宣布 GoodNotes 将在 2023 年登录 Windows,如果届时体验与 iOS 相近,Surface Pro X 估计能直接成为笔记首选。Android 也有强大的笔记软件阵容,比如享做笔记和三星笔记平板版本,但是由于虚拟机引入延迟,体验非常糟糕,而且 WSA 没有做手写笔按键支持,甚至长按都无法识别,体验非常糟糕,还是老老实实 UWP 吧。
至于 PDF 浏览,Windows 上有全功能 Acrobat,Adobe 说运行 x64 版本即可,安装过程中可能有奇怪报错,不影响安装,使用没有问题。
日常学习中,我偶尔还会用 Wolfram 家族做一点简单计算,网页版 Wolfram Alpha 和 Wolfram Cloud 以及 x64 转译的 Wolfram Engine 都能顺利运行。
总之,将 Surface Pro X 作为学习工具是我购入它的主要目的之一,事实证明它可以出色完成。
影音:★★★★
我使用影音软件主要是:①播放 Bilibili 视频;②听网易云音乐;③听 Apple Music。这三者表现都很好,下面一个一个说。
Bilibili 网页端只能调用 B 站自己做的 WASM 软解,CPU 直接跑满,非常不建议网页,更推荐用 Microsoft Store 能搜到的 Bilibili UWP 版客户端,功能全面、支持硬解、符合平板操作逻辑,好评。
网易云音乐只提供桌面版客户端,于是我找来了 网易云音乐 UWP 不更新版 ,部分 API 已被弃用,测试下来必须通过 QQ 登录才能登上,好在听歌没问题。
Apple Music 我习惯使用 Android 版,WSA 推出那天已经在电脑上装好,体验无比优异,并且 Apple Music 的 Android 端还做了平板适配,不亚于 iOS。
开发:★★★★
拿到 Surface Pro X 不久之后,完全支持 ARM 的 Visual Studio 2022 正式发布,对于 VS 用户,或者企图在 ARM 设备上用原生工具链编译原生应用的开发者来说都是个好消息。不过很可惜,我不是 Visual Studio 用户,没有对它进行详细测试,仅在编译 PyTorch 时体验了一把 MSVC,能用。有一点值得注意,即便有 ARM 版 MSVC,x86 / x64 版 MSVC 仍然是 C++ 开发必备依赖,一旦卸载会带着所有 C++ 相关组件一起自杀,非常迷惑。
我主要熟悉 Visual Studio Code 和 Android Studio。前者和 Typora 一样基于 Electron,支持起来毫无压力,官方早就提供了 ARM64 版本安装包,插件也没大问题。Android Studio 只提供 x64 版本,但它基于 IntelliJ IDEA,理论上可以手动替换运行时,比如微软提供的 ARM64 版 OpenJDK 。初步尝试发现,用来编译不错,将它作为 AS 运行时后快捷方式无法启动,需要通过 AS 安装目录下的 studio.bat
打开。此外,OpenJDK 17 会报缺少 sun.awt
,得用 OpenJDK 11。AS 默认安装的模拟器及镜像是 x64 版本,在没有支持 ARM64 的情况下倒是合理,可是这不是明摆着坑人来的吗…尝试启动虚拟机会直接报 terminated,考虑到虚拟机针对 x86 设计倒也合理,好在 adb
正常,至少能使用 WSA 或者 USB 连接移动设备进行调试。
一些小工具补充在这里。Git for Windows、Gpg4win、win-gpg-agent 和 Snipaste 都不提供 ARM 版本,好在它们足够轻量,转译没什么压力。微软官方的 PowerToys 不用多说,早做好了 ARM 适配。Syncthing 本体提供 ARM64 版本,Windows 下的工具 SyncTrayzor 却没有,只能自己手动将 Syncthing 塞进开机启动,没有桌面通知和托盘图标告知同步进度,还得全局启用传统终端才能保证它不会一直挂着一个终端窗口…用起来没毛病,不挑剔了。
杀 毒:★
高调宣布支持 Windows on ARM 的杀毒软件,只有金山毒霸一家。告辞!
说实话,针对 x86 设计的病毒跑在转译没什么影响力,针对 ARM 设计的病毒极少,「杀毒」这件事本身并没有太大必要。我主要是馋火绒的访问控制、火绒剑等等附加功能,能顺便干掉吃性能的 Windows Defender 就更好了,希望火绒尽快跟进。
深 度 学 习:★
不会真有人想在 ARM 设备上跑深度学习吧?
嘛…倒不是不可以。微软的 DirectML 明说支持 Adreno 600 及以上 GPU,只需要调用 DirectML 就能在这台 Surface Pro X 上跑深度学习。既然如此,先用 AI 画个 色 图?很不巧,Stable Diffusion 依赖 PyTorch 运行,PyTorch 暂时不支持 Python 3.11,Python 3.11 以前的 Python 都不提供 Windows on ARM 版。参照 README , PyTorch 大版本更新周期为 90 天,最近一次更新是 10 月 28 日的 PyTorch 1.13 ,即使它在下一个大版本更新时能加入 Python 3.11 支持,那也得明年。为了顺利安装 PyTorch,我施加了大量手撕魔法,还在群友们的帮助下,准备向 PyTorch 提交 PR。这一部分写进本文那可太长了,因此我打算另开一文,详细讲讲怎么在 WoA 上跑 Stable Diffusion(如果跑得起来)。要在这里给出总结的话,从写下到发布这篇文章,我全程都在徒劳地尝试用 Surface Pro X 编译相关库,所谓「一杯茶、一包烟,一个指令跑一天」,体验可想而知。
工 业 软 件
这一部分应群友要求测试,我暂时没有使用本节提及软件的需求,因此只能简单测试下基础功能,仅供参考。
嘉立创 EDA 专业版重度依赖网页组件,跑起来没有问题,能够正常激活、编辑及预览,唯一问题是我不会用;Altium Designer 22 可以用,不过会比较卡;Autodesk AutoCAD 2023 完全不能用,进去预览部分是花的,不知道原因,需要用 AutoCAD 的话还是考虑 x86 机器吧。
游戏:★★★
这话题可非常复杂。市面上游戏种类众多,从 3A 大作到轻量小游戏,游戏引擎花样百出,加上 WSA 进一步扩充游戏库,不可能穷尽所有游戏,我只能根据接触到的游戏种类,在此提供一点参考。
首先排除各类通过注入驱动来反作弊的网游,比如原神、崩坏 3 和 LOL。它们驱动都是为 x86 系统准备,所以非常遗憾,到此为止。
既然是平板,那不得不提 Galgame。测试中,基于 Kirikiri 和 Ren'Py 的游戏毫无兼容性问题,直接打开即可游玩。然而,可能是受限于 SQ1 孱弱的性能,《魔法使之夜》在复杂场景掉帧严重,尤其是游乐园之战高潮部分,连文字都卡成 PPT,查看占用发现 CPU、GPU 和内存占用率都不高,估计是单核性能受限,加上系统调度或者游戏优化不佳导致。好在对性能要求如此高的 Kirikiri 游戏,估计仅此一家。Ren'Py 打开时有一段漫长等待时间,在没有安装 DirectX 运行时 的情况下运行起来较为流畅,除动画场景掉帧外,体验甚至优于 LG Gram,安装后更是丝滑一大截。此外,Kirikiri 和 Ren'Py 都是开源引擎,Ren'Py 游戏还自带一份 Python 环境,可以自编译或者将 x86 / x64 环境替换为原生 ARM64 以获得更高性能,不换跑起来没问题,所以我没进一步尝试。
尝到一点甜头之后,我又把目光转向了触控笔。有 WSA 有触控,用来玩音游岂不美哉?事实却没有这么美好。Windows 游戏,《Muse Dash》体验不错,掉帧少,延迟约在 60ms 左右,可以接受,问题是触屏会卡住;《osu!》没这么幸运,疯狂掉帧,触控笔也没想象中好用,举着它指屏幕挡视野不说,手臂绝对会先受不住,即使复制一份屏幕出来,SPX 的尺寸并不适合长时间在上面挥手。WSA 寄中寄,由于要经过一层虚拟机,触控延迟本来就高,这下被进一步放大,渲染压力小的音游(比如《Phigros》)怎么调都让人难以适应,据说 Linux 下用 Waydroid 会好很多,可惜那会偏离本文主题。渲染压力大的呢?
当然更不可能。WSA 图形效率很低,什么游戏都得卡。《明日方舟》切换界面时会带着整个系统一起卡,连系统音频输出都会爆炸,稳定下来后也很难满帧运行,更别说其它要求更高的 Android 游戏了。高通驱动和微软转译至少有一个背锅,考虑到即使是 5600x + 2060 都跑不动 WSA《明日方舟》,很有可能这俩都要背锅。可惜 ARM 端目前除 WSA 和部分开发用虚拟机外,没有像 Bluestacks 那种专为游戏设计的虚拟机,期待出现后会稍微好一点。
接下来是怀旧时间——《东方风神录》在测试中表现非常好,全程跑满 60 帧,预计整个东方系列都会表现不错。
整体看来,在「轻薄本不会用来玩大型游戏」的前提下,Windows on ARM 交出的答卷还过得去。其他游戏,在短暂体验中没来得及详细测试,而且我手上这台 SPX 只有 256GB SSD,塞满开发中间体时没办法测试太多,据前任机主说,《CS:GO》跑到 60 帧上下,能玩。很巧,拿到 SPX 不久后, DXVK 发布了 2.0 大版本更新。日后如果有时间,我会再深入研究研究 DXVK 配合 Windows on ARM 的游戏性能,顺便测测更多游戏,不过那就是另一篇文章的事情了。
ARM + Windows,路在何方
现在,这篇碎碎念终于进入最后阶段,按照惯例,该装模作样地展望一下。
Windows on ARM 已经足够好用,却还有一些不可忽视的问题。它们有些是因为微软和(尤其是)高通不作为,有些是因为社区缺乏活力,更多则是这二者的叠加。目前,大部分 WoA 用户可能只是浅尝辄止,因为赚钱家伙用不爽;之所以用不爽,一部分是高通芯片性能太差驱动不行,一部分是用户基数小屎山高开发者懒得适配,另一部分则是微软作为开发者背刺狂魔,推广什么都让人不敢冒进。性能、驱动差,适配应用少,又进一步让用户望而却步;如此循环往复下去,未来 WoA 越来越小众,说不定最后沦为另一个 Windows Phone。
但是,如果像微软现在说的那样,ARM 真要成为未来,那任重而道远。微软的决心大家有目共睹,只是 Windows 不像 Linux 和 macOS,后二者推广 ARM 几乎没有阻力、没有历史包袱,而 Windows 在兼容性拖累下积重难返,拥抱 ARM 也依旧有大量 x86 历史残留。例如,前文提到 PyTorch 的小问题,主要原因是默认运行 MSVC 一定是 x86 设备,直接调用了一条 ARM 不存在的 CPU 指令,一跑就炸。这样的代码多如牛毛,靠一个人、一个组织很难解决,需要活跃的开发者群体、Windows on ARM 进一步普及,以及足够长的时间。此外,ARM 阵营除苹果外,至今仍没有其他玩家拿出强力芯片,WoA 设备还只能由高通造 SoC,同时 x86 生态硬件(比如显卡)在 WoA 上没有驱动、无法运行——性能上起不来,ARM 取代 x86 更加遥遥无期。
ARM 到底是未来吗?很难断定。它可能在很长时间内与 x86 共存,可能再过几年就退出历史舞台。这几天使用下来,被动散热、长续航和轻薄兼具的 Surface Pro X 给我留下了不错的印象,希望 WoA 能走得再久一点,希望我能看到 ARM 真正站起来,看到我可以不再当一个吃螃蟹的人,而是像普通用户那样,从来如此般使用 Windows on ARM 的那一天。