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


导读:用户:微软逼我选择x86。

整理:郭露|文章来源:CSDN(CSDNnews)

图源自IC photo

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


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


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

1

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


除此之外,开源问题同样不容乐观。由于MinGV或是MSYS开发环境中无法搭建ARM,因此Windows上无法使用Arm GCC或Arm Clange工具链。尽管有部分功能能够添加原生ARM支持,但目前还无法使用。Arm官网中可以下载用于x86的MinGV GCC,并为Arm设备进行交叉编译。如果只有用竞品才能在Windows上编译自己的产品,那么这的确能够说明一些问题。


另一个在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或是编译器,不能用作专业的开发平台。

2

用户:微软逼我选择x86

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


相比之下,ARM对于macOS以及Linux上的开发者工具的支持要好得多。GCC、Clang和 Python可完美支持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。本文作者郭露,来源于CSDN,IT大佬已获得作者授权、经IT大佬编辑发布,文中观点为作者观点、不代表IT大佬观点。)


参考资料:
https://www.zdnet.com/article/does-windows-on-arm-have-a-future/
https://www.zdnet.com/article/op-ed-windows-isnt-ready-for-arm-developers/
https://www.zdnet.com/article/future-of-desktop-computing-is-it-all-in-apples-hands-with-arm/

延伸阅读


收购Arm成镜花水月:英伟达黄老板面对残酷现实

nVIDIA收购ARM会带来什么?

扫码关注“IT大佬”

很多朋友对于未能连接一个windows服务和未能连接到一个windows 的服务怎么回事不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!未能连接到一个windows 的服务首先打开运行菜单,在运行对话框中输入CMD,回车打开命令对话框,然后在命令对话框中输入“NETSH W..

大家好,今天来为大家解答关于微信mac版是什么意思这个问题的知识,还有对于微信显示mac登录是什么意思也是一样,很多人还不知道是什么意思,今天就让我来为大家分享这个问题,现在让我们一起来看看吧!微信mac版是什么意思MAC微信有两种登陆方式:第一种:扫二维码登录1» 在Mac电脑应用程序中,..

近日有美国电视评论员在节目中评论谷爱凌在北京冬奥会代表中国夺冠时,用了“忘恩负义”“背叛”“可耻”这些攻击性甚至侮辱性语言,不仅暴露了部分美国媒体人职业操守的沦..

⬆️点我⬆️你准备先看哪篇热文:明朝那些事儿 讲的历史是真的吗|慕容复要恢复的大燕国有多奇葩|极简中国游牧民族史|古代一两银子值多少钱|国外历史书吹水的现象..

演示机型:华为MateBook X系统版本:win10 1、适用人群不同:家庭版适合一般家庭用户使用,而专业版适合一般的办公人群或者公司使用。2、功能不同:家庭版只有基..

mac小辣椒色号不是数字,而是英文名chill,所以mac小辣椒色号是chill。mac小辣椒色号是mac品牌子弹头口红的一个色号。因为mac小辣椒色号拥有着像是辣椒一样鲜艳浓郁的红色..

演示机型:华为MateBook X系统版本:win10 根据情况而定。windows更新需考虑网络情况和硬件情况以及升级渠道,不但受硬盘影响,还受CPU和内存等其它硬件的影响。..

演示机型:华为MateBook X系统版本:win10APP版本:老友装机大师6.0电脑怎么更换windows系统共有2步,以下是华为MateBook X中更换windows系统的具体操作步骤:操..

全文 2046字,阅读时间预计 5 分钟。6 月 13 日,天津津门虎队迎来了 2022 赛季中超联赛第三轮比赛,对手是强敌北京国安队。在比..

大家好,今天来给大家分享mac重装windows系统的相关知识,通过是也会对相关问题来为大家分享,如果能碰巧解决你现在面临的问题的话,希望大家别忘了关注下本站哈,接下来我们现在开始吧!苹果macbook要重装windows系统怎么操作1、进入到苹果的mac系统,找到“工具与程序”进入后找到bootcamp辅助程序2..

ARM架构、ARM7、ARM9、STM32、Cortex M3 M4、51、AVR之间有什么区别和联系?ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种..

(本文阅读时间:3分钟)微软电脑管家,为用户的 Windows 系统保驾护航,提供安全、轻便、快速的一站式电脑管家服务,包含一键体检、一键加速、病毒查杀、系统安..

作者 | 苏宓出品 | CSDN(ID:CSDNnews)将 Windows 打造成为全球第一大操作系统之后,微软在 Linux 方面的投入也逐渐加强。近日..

国产操作系统,终于值得安装了。全文6055字,阅读约需12分钟文|陈俊一 马渭淞 苑晶铭编辑 | 钱漪常亮题图|unsplash国产操作系统最难的那一步,已经..

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)受当前局势影响,近几个月来已有多家跨国科技企业宣布停止在俄业务,不少游戏厂商、音乐和电影流媒体也先后..

整理| 苏宓出品 | CSDN(ID:CSDNnews)如果有一天 Windows 不能用了,会带来哪些影响?曾经设想多次的场景,现一语成谶,这种现状正在俄罗斯用..

6月19日消息,俄罗斯境内出现无法正常下载Windows 10和Windows 11系统安装程序的现象。微软已限制俄罗斯人从其官方网站下载Windows 10和 11,包括这些..

高通技术公司在Microsoft Build 2022大会上宣布,将面向Windows开发者开放行业领先的高通AI引擎和面向Windows的高通神经网络处理SDK。此外,高通技术公司和微软..

外媒认为中国芯片基于RISC-V架构的自研芯片正不断取得突破,特别是在物联网芯片方面,这已让垄断移动芯片市场的ARM担忧,毕竟物联网市场是未来,随着RISC-V架构的发展,将..

【CSDN 编者按】提起Safari浏览器,很多人的都会认为它是苹果用户的专属。其实很多年前,在Windows系统上也能够使用Safari浏览器,到2012年苹果团队才停止开发Windows..

本文由 IT大佬 来源发布

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

评论问答