值得买科技-分享、推荐高性价品牌产品购物排行榜!

「arm」同样是ARM,为什么Mac会成功,Windows却输得一败涂地?

CSDN 真实性核验

认证:数码产品优质原创作者

发布时间:2022-02-11 22:04 来源:什么值得买

浏览量:1833 1128次收藏

分类:数码产品 arm新闻直播视频

本文有1316个文字,大小约为6KB,预计阅读时间4分钟

[导读]: 原文标题:同样是ARM,为什么Mac会成功,Windows却输得一败涂地? 整理 | 郭露 由于联邦贸易委员会在去年对于反垄断严加打击,在上个月外媒发布一篇报道后,有传言称英伟达正准备放...

精选评测好文

 

原文标题:同样是ARM,为什么Mac会成功,Windows却输得一败涂地?

整理 | 郭露

由于联邦贸易委员会在去年对于反垄断严加打击,在上个月外媒发布一篇报道后,有传言称英伟达正准备放弃以 400 亿美元收购 Arm。

本周英伟达正式官宣终止收购 Arm。事实上,倘若彼时英伟达和 Arm 合并,预期将创造出仅次于英特尔的第二个半导体巨头,并在移动和嵌入式处理器领域成为高通和三星的强力对手。除此之外,两者合并后还可能成为微软下一代基于 ARM 的 Windows 笔记本电脑的硅供应商等。

因此,许多行业观察家可能想知道:ARM 在桌面计算领域的未来是否全是苹果?就目前而言,只有苹果公司通过将其 Mac 平台过渡到 M1 ,在自己设计的基于 ARM 的芯片上取得了成功。

图源自 IC photo

Windows on ARM 却成绩平平,这是为何?

苹果M1 Mac的成功证明,ARM 在 PC 上同样很有前景,可是在此之前的微软也就是Windows on ARM却成绩平平,这是为何?

对此,很多人认为 Windows on ARM 的主要障碍在于硬件,因为软件以及开发工具都是现成的。然而真正的问题在于开发者工具的兼容问题。例如 Visual Studio、VS 构建工具和 RISC-V 等等。倘若不能解决兼容问题,那么 Windows on ARM 永远无法实现。

微软的开发者工具链在 ARM 中表现非常糟糕,微软并未提供 ARM 版本的 Visual Studio、VS 构建工具、甚至没有 Microsoft Visual C++,他们希望 ARM 开发者能够在 x86 主机上交叉编译 C++ 软件或模拟 x86。

即使 ARM 可原生支持 .NET 以及 VS Code,但这对于 C++ 开发者来说意义不大。因为 MSVC 是封闭源代码,ARM 要想获得对 MSVC 的本机支持只能靠微软。

图源自 IC photo

另一个在 Windows 中流行的 C++ 编译器是英特尔 C++ 编译器(ICC),但它并不能在 ARM 上使用,并且必须要安装 Visual Studio。也就是说,4 个流行的 C++ 编译器均不能用于 ARM Windows。

可能许多人都不了解为编译器提供原生 ARM 支持的意义所在。在为手机或游戏开发软件时,有许多开发者已经从自己的电脑交叉编译到其他设备中,那为什么不能交叉编译到 ARM Windows 设备上呢?其实这是可行的,但是不好用。

如果 Windows 电脑不能原生支持编译器,并且需要其他电脑交叉编译二进制文件 / 可执行文件,那么这就和手机没什么区别,因为开发者不能在同一设备上进行开发测试。不同之处在于手机和游戏机并不是开发平台。虽然手机可以写代码,但这种情况并不多见。

除此之外,Windows for ARM 的另外一个缺点在于它不支持 OpenGL 以及 Vulkan。如果你用的是 Vulkan,就算你设置了交叉编译工具链也不方便。如果你使用的是 OpenGL 程序,你最好转为 DirectX。

微软的要求很明确,如果要用到新的 ARM Windows 平台,就必须要用他们的专业 API。同样,PlayStation、Xbox、Switch 和 iPhone 要求开发者使用专有的图形 API,但他们都不能运行编译器,因此开发者必须从另一台设备进行交叉编译。开发者应当清楚:Windows for ARM 不能运行专业的图形 API 或是编译器,不能用作专业的开发平台。

用户:微软逼我选择 x86

由于开发者在 ARM Windows 上的体验较差,他们会选择使用 x86,如此反复,Arm Windows 永远不会达到和 x86 相同级别的支持,而使用 ARM Windows 的人也会越来越少。打破这一循环的方法就是让 Visual Studio 等主要开发者工具能够支持 ARM。

但如果苹果在没有移植 Clang 并且不支持 OpenGL 的情况下就发布 ARM macOS 同样是个灾难。在这种情况下,开发者必须使用旧的 x86 Mac 进行开发并为 ARM Mac 进行交叉编译。而这势必会引起轩然大波,开发者会担心苹果是在把 macOS 转变为 iOS,如果不能编译自己的软件,也就不能运行自己的软件。这样和 Windows 没什么区别。

从 C++ 开发者的角度来看,可能 Linux 对于 RISC-V 的支持比 Windows 对于 ARM 的支持更好。RISC-V 是一种全新的开源 CPU 架构,但目前还无法使用。RISC-V 上的 Linux 体验一般,不过仍有一个可用的编译器,因此开发者可以在另一台设备上使用本机软件进行开发,而无需交叉编译。从这一点来说 Windows for ARM 是更为逊色的。

微软在 ARM 设备上的首次尝试是在 2012 年发布的 Surface 平板电脑中,它运行的是 Windows RT(Windows 8 for Arm)。如果微软全力支持 ARM,他们应该早在 2012 年就将 MSVC 和 Visual Studio 移植到 ARM,类似于苹果在发布第一批 ARM Mac 时对 Xcode 和 Clang 的支持。

回顾过去,微软似乎将 Visual Studio 移植到 ARM 上没什么想法。直到今年,微软才将 Visual Studio 移植到同一架构的 64 位版本。这是 2003 年发布的第一个 64 位 x86 CPU,即 Athlon 64,而这距离现在已经 19 年了。不过微软的确在 2005 年左右将 MSVC 移植到了 64 位 x86 上,因此 ARM 并不是一点希望也没有,但是为了让开发者获得更好的体验,微软需要将整个 Visual Studio 堆栈移植到 Arm。

更多文章:小米空气净化器MAX,比大更大<\a>

其他人还看了

「高通骁龙」新款微软Surface设备现身GeekBench,搭载骁龙8cxGen3

「微软」继续和苹果对着干,微软:不强制使用官方支付!

「arm」Arm新任CEO:很高兴将能成为独立公司,没有英伟达一样过得很好

「云游戏」从toC转向toB?谷歌云游戏Stadia还有未来吗

GARMINInstinct2:从2018到2022,佳明本能系列的升级迭代

哎呦不错哦,赞!(628)
打赏 打赏打赏给作者

郑重声明:本文“「arm」同样是ARM,为什么Mac会成功,Windows却输得一败涂地?”,https://nmgjrty.com/shumacp_350754.html内容,由CSDN提供发布,请自行判断内容优劣。

上一篇:「亚马逊」反垄断审查尚未结束亚马逊收购米高梅仍需时日

下一篇:「三国杀」《王者荣耀》都是弟弟,这款元老级游戏,在一片骂声中被下架了

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
相关推荐

返回顶部