macbook|新款MacBook兼容性大起底!就这表现还想让我们换机?

2020年双十一的凌晨两点 , 苹果发布了全新的AppleM1芯片和三款采用了M1芯片的Mac电脑 。 与以往的每一台Mac不同 , 这三款电脑改用了英特尔的X86架构 , 而且因为AppleM1的集成程度比原本的Intel处理器还要高 , 所以三款Mac依旧延续了Mac一如既往的外观方案 , 一眼看过去和英特尔完全一致 。
但在使用体验上 , 采用了Apple M1的Mac跟以往的Mac就大有不同了 , M1采用了全新的资源调度方式 , 保证高性能的同时还降低了能耗 。 除此之外 , ARM架构也让iPhone和iPad的软件可以在新Mac上直接运行 。
不过问题也来了 , 尽管新Mac可以直接使用iPhone、iPad的软件 , 但部分原本在原本在Mac上运行跑得好好的软件 , 在这三款新Mac上就变得不灵光了 。
两步走兼容方案
根据苹果的说法 , 苹果为M1上的Mac软件准备了「两步走」的方案:Rosetta 2和Universal 。 其中universal针对已经完整了从Intel到M1转化的应用 , 应用打包后 , 可以针对具体硬件平台 , 释放与平台对应的软件代码 , 从而带来最「原生」的应用体验 。 比如苹果自己 , 就悄悄完成了自己针对Mac平台开发的所有软件的「移植」 。 包括FCPX , LPX这些在影音领域的专业软件都可以在英特尔或M1的Mac上流畅运行 。
macbook|新款MacBook兼容性大起底!就这表现还想让我们换机?
本文图片
但苹果毕竟是有备而来 , 而且他们的软件规模也没有其他大型软件集团那么复杂 。 像Adobe、ChaosGroup这样的大型跨行业软件巨头 , 在短时间内完成从英特尔到M1的转化几乎不可能 。 毕竟IntelX86处理器与Apple M1芯片采用完全不同的指令集:其中X86用的是复杂指令集CISC , 而AppleM1这边用的是简单指令集RISC 。 很多在X86上的运算与调用方式在ARM根本就不存在 , 这种跨架构的移植本质上几乎等于将软件整个重新开发一遍 , 而且在转化的中途还要保证新功能的研发与迭代 , 其工程量可想而知 。
对这些软件而言 , 「两步走」中的Rosetta 2就派得上用场了 。 简单来说 , Rosetta 2是一个内置与macOS Big Sur的系统级软件兼容方案 。 当未经过「转化」的软件在ARM Mac上展开安装的时候 , Rosetta 2就会将软件中的指令翻译为ARM架构下的指令 , 从而保证X86软件在Apple M1上的正常运行 。
macbook|新款MacBook兼容性大起底!就这表现还想让我们换机?
本文图片
之所以选择在安装时就进行「指令翻译」 , 而不是在软件运行时在实时运行 , 原因主要还是为了保证软件在运行时的效率 , 即使出现了无法转译的指令操作 , 也可以在安装第一时间得知 , 不至于出现安装后无法运行的情况 。
尽管如此苹果已经做足了准备 , 但Rosetta2也有自己的短板 。 指令集「翻译」的本质其实就是在X86指令与ARM指令之间再加一个「翻译」的过程 , 因此经过翻译后的指令在时间复杂度或空间复杂度两个方面通常都不如原生应用那么出色 。 而且部分X86的指令也无法在ARM指令中实现 。
因此经过Rosetta 2方案安装在ARM Mac的软件在执行效率上有可能需要打上折扣 , 更不用说那些无法在ARM平台实现的指令了 。 这也是仍有部分软件无法通过Rosetta 2进行转化的原因 。 比如在11号的特别活动中 , Adobe就透露 , 他们的Photoshop要等到明年才可以完成完整的转化 。
能用不代表好用
而且即使软件可以在M1 Mac上运行 , 也不代表着这些软件可以体现出M1芯片在性能上的优势 。 苹果此前透露 , 通过Rosetta 2来运行的软件只能保证「正常运行」 , 当软件通过Universal完成部署后 , M1效率的提升才得以体现 。
除此之外 , 采用M1芯片的Mac能否通过Boot Camp或PD实现Windows虚拟机安装也同样是个问题 。 过去macOS有不少银行插件都只能通过虚拟机运行 , 改用ARM架构后 , 对Windows的支持也同样是个未知数 。