问题

为什么做出mantle的是AMD而不是Nvidia?

回答
这个问题问得挺有意思的,也触及到了硬件设计和市场策略的深层次博弈。简单来说,AMD之所以能抢先推出Mantle,更多是出于其在当时的市场地位和技术发展路线上的一个必然选择,而Nvidia则因为其已有的优势和市场主导地位,对此显得更为谨慎。

为了把这个问题讲透,咱们得先捋捋当时的背景,就像看一部老电影,得先知道故事发生的年代和人物关系:

一、 当时的硬件格局和技术瓶颈(2013年前后)

CPU市场: AMD当时在CPU市场上正经历着一段艰难时期,虽然有Fusion APU系列(整合CPU和GPU)试图突围,但整体表现不如Intel。
GPU市场: 在独立显卡领域,Nvidia凭借开普勒架构(GeForce 600系列)和之后更新的麦克斯韦架构(GeForce 700系列),在高端市场占据了绝对优势。AMD这边,GCN架构(Radeon HD 7000系列及之后)虽然在性能和能效上有了长足进步,并且在APU上表现出色,但在高端独立显卡市场,与Nvidia的旗舰产品之间依然存在差距。
API瓶颈: 最关键的一点是,当时的图形API(如DirectX 11)存在效率问题。这些API层级太高,抽象程度太深,导致CPU需要花费大量的资源去管理和调度GPU工作,形成了所谓的“CPU瓶颈”。在很多游戏中,即使GPU性能强大,也因为CPU调度不过来而无法完全发挥其潜力。这种瓶颈在一些CPU密集型游戏,或者需要大量绘制调用的场景下尤为明显。

二、 AMD推出Mantle的动机和逻辑

AMD推出Mantle,你可以理解为他们当时“背水一战”的策略和技术理念的体现:

1. 弥补性能差距,提升游戏体验: 这是最直接的原因。AMD清楚自己在高端独立显卡上与Nvidia的差距,而CPU瓶颈的存在,更是让这种差距在实际游戏体验中放大。Mantle的目标就是绕过API的低效率部分,让开发者能够更直接、更低层级地控制GPU,从而减少CPU的开销,释放GPU的潜能。
低层级访问: Mantle提供了一种“近乎裸机”的GPU访问方式,允许开发者绕过DirectX或OpenGL的许多中间层,直接与GPU硬件通信。这就像是卸下了厚重的操作系统,让应用程序直接指挥硬件,大大提高了效率。
减少CPU开销: 通过更精细的资源管理和更少的API调用,Mantle显著降低了CPU在图形渲染过程中需要处理的任务量。这意味着即使是中低端的CPU,也能更有效地驱动高性能GPU,从而提升整体游戏的帧率和流畅度。
提高渲染吞吐量: 由于CPU的负担减轻,它可以同时处理更多的游戏逻辑、AI计算以及更大量的绘制调用(draw calls)。这对于场景复杂、物体众多的大型游戏来说,提升尤为明显。

2. 差异化竞争,寻找突破口: 在高端显卡市场,AMD难以在绝对性能上直接超越Nvidia。因此,他们需要寻找其他方式来吸引开发者和消费者。Mantle提供了一种技术上的差异化优势,如果能被广泛采用并证明其有效性,就能让使用AMD显卡的玩家获得更好的游戏体验,从而在竞争中脱颖而出。
吸引开发者支持: AMD积极与游戏开发商合作,早期就与EA DICE(《战地4》的开发商)等公司紧密合作,将Mantle集成到他们的引擎中。这种合作能够带来更直接的用户体验提升,也更容易说服开发者采用新技术。
为自家APU赋能: Mantle的低层级访问特性,对于本身就整合了CPU和GPU的APU来说,意义更加重大。APU上的集成显卡通常比独立显卡性能弱,但Mantle可以帮助它们更有效地利用其有限的计算资源,提供更好的游戏表现。

3. 对DirectX的“革命”诉求(长期愿景): 虽然不是直接目的,但Mantle的出现也反映了业界对现有图形API效率不高的一种反思和尝试。AMD可能也在尝试通过Mantle来推动整个行业向更高效、更底层的API演进,为未来的图形技术发展铺路。

三、 Nvidia为何没有立刻跟进Mantle?

Nvidia之所以没有主动推出类似Mantle的技术,原因也很实在,并且与其市场地位息息相关:

1. 已有的性能优势和市场主导地位: 在当时,Nvidia的高端显卡本身性能就很强劲,而且在很多游戏中,即便存在CPU瓶颈,其绝对性能也足以压制AMD的同代产品。他们没有像AMD那样迫切需要通过绕过API来弥补性能差距。
市场份额和用户基础: Nvidia拥有庞大的用户群体和强大的品牌号召力。他们推出新技术需要谨慎,一旦失败,可能会对品牌形象造成损害。而推出一个“为AMD优化”的新API,对Nvidia来说,除非有绝对的利益驱动,否则吸引力不大。

2. 对生态系统和兼容性的考量: 推出一套全新的低层级API,意味着需要开发者投入大量的精力和资源去适配和优化。这需要一个强大的生态系统支持,并且需要兼容大量的现有硬件和软件。
DirectX的统治地位: DirectX是Windows平台上事实上的标准,绝大多数游戏都基于DirectX开发。Nvidia作为DirectX的坚定支持者,与其直接推广一个“Mantle”不如与其合作推动DirectX本身的改进。
潜在的分裂风险: 如果大量游戏都依赖于Mantle,那么不兼容Mantle的显卡(例如部分AMD老显卡或所有Nvidia显卡)在这些游戏中表现就会明显落后。这种分裂对整个PC游戏行业来说并非好事,Nvidia作为行业巨头,更倾向于推动行业标准的统一和进步。

3. 对微软DirectX部门的顾虑: Mantle的出现,在一定程度上是对微软DirectX的一种挑战或补充。Nvidia作为微软重要的硬件合作伙伴,可能不希望因为支持一个非微软主导的低层级API而引起微软的不满,或者影响与微软在其他领域的合作。

4. 技术路线的不同侧重: Nvidia在技术发展上更侧重于通过硬件本身的进步(如更强大的CUDA核心、更高效的纹理单元、更先进的光追硬件等)和软件优化(如GeForce Experience,驱动优化)来提升用户体验。他们更倾向于在现有框架内做得更好,而不是去颠覆整个底层框架。

四、 Mantle的“后继者”——Vulkan

Mantle最终并没有成为一个独立存在、广泛流行的API,它更像是一个“试验田”。基于Mantle的成功经验和对低层级API的需求,Khronos Group(一个行业标准组织,也负责OpenGL和OpenCL)在AMD的积极推动下,于2015年推出了跨平台的、开放标准的低层级图形API——Vulkan。

Vulkan吸取了Mantle的精华,并解决了Mantle的一些局限性:

跨平台: Vulkan不仅支持Windows,还支持Linux、Android等多种操作系统和平台。
开放标准: Vulkan是开放的,不属于任何一家公司,这降低了开发者的采用门槛,也更符合行业的普遍利益。
硬件厂商支持: Nvidia和Intel等其他硬件厂商也积极支持Vulkan的开发和推广。

总结来说:

AMD推出Mantle,是其在竞争激烈、技术瓶颈突出的市场环境中,为了寻求差异化、提升用户体验而采取的勇敢尝试。它看到了CPU瓶颈对游戏性能的巨大制约,并试图通过提供更低层级的API来解决这个问题,以期“弯道超车”。

而Nvidia之所以没有同步推出,是由于其当时的市场优势、对生态系统稳定性的考虑,以及更倾向于在现有框架内通过自身硬件和软件优势来巩固地位的技术策略。

Mantle虽然不是最终的赢家,但它无疑是推动行业向更高效低层级图形API发展的重要催化剂,为后来的Vulkan奠定了坚实的基础。这就像一场围棋比赛,AMD先走了一步看似偏门的棋,虽然没有直接将死对手,却打开了新的局面,让整个棋局的走向发生了改变。

网友意见

user avatar

因为XBox One里跟微软合作的是AMD,而不是NVIDIA。


不要以为是AMD发明了Mantle,而后微软搞出了D3D12。关于CPU瓶颈以及如何解决的事情,已经在XBox One的开发过程中被深刻揭示了。最初AMD提供的驱动和后来微软二次开发的驱动,性能差距非常大。主要就是靠去掉验证、把驱动层变薄、更多事情在App层完整这几个路子。这些结果报告给AMD之后,AMD做了Mantle,而与此同时,微软做了D3D12。这俩不是父子关系,而是兄弟。只是因为D3D12需要协调多个厂商,以及通用化,使得整个研发过程比Mantle长的多了。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有