她才17 岁, 就用 Rust 改写了苹果 M芯片的图形驱动,性能提升巨大,就问你服不服?

举报
老码小张 发表于 2024/11/05 18:35:14 2024/11/05
【摘要】 在不久前的 X.Org 开发者大会(XDC 2024)上,技术界迎来了一个让人惊喜的消息:关于苹果 M1 和 M2 芯片的 GPU 驱动程序有了新的突破。这次带来更新的是 Alyssa Rosenzweig,现在 22 岁,也就是她用 rust 写这个 GPU 驱动 5 年了。她带这个女巫帽是为了迎合万圣节的气氛她不仅谈到了驱动程序的新进展,还透露了驱动程序的背后细节,比如这些驱动是用 Ru...

图片

在不久前的 X.Org 开发者大会(XDC 2024)上,技术界迎来了一个让人惊喜的消息:关于苹果 M1 和 M2 芯片的 GPU 驱动程序有了新的突破。这次带来更新的是 Alyssa Rosenzweig,现在 22 岁,也就是她用 rust 写这个 GPU 驱动 5 年了。

图片

她带这个女巫帽是为了迎合万圣节的气氛

她不仅谈到了驱动程序的新进展,还透露了驱动程序的背后细节,比如这些驱动是用 Rust 编写的——是的,这可是苹果的 GPU 驱动,终于支持上 OpenGL 4.6 和 Vulkan 1.3 了!

那么,什么是驱动程序?它简单来说就是系统和硬件之间的“翻译官”,让系统能调动硬件的能力。尤其是在图形处理领域,驱动程序负责让显卡(GPU)发挥出图像渲染的最大潜能。而这次苹果 M1 和 M2 的 GPU 驱动更新,不仅为 OpenGL 4.6 的兼容性打下了坚实基础,还让 Vulkan 1.3 也能顺利运转,听上去是不是很酷?不过,要理解背后的意义,我们还需要多了解一些细节。

1. 驱动用 Rust 编写——为何这很特别?

你可能好奇,为什么用 Rust 编写驱动程序会成为一个亮点?原因在于,Rust 是一种新兴的编程语言,以内存安全和性能为卖点。和传统的 C 语言比起来,Rust 能更好地避免那些常见的内存漏洞,比如缓冲区溢出、空指针引用等。这类漏洞过去在驱动开发中十分头痛,而 Rust 几乎解决了这些隐患。可以说,使用 Rust 编写的驱动让 GPU 性能更稳定,降低了崩溃和安全漏洞的风险

用 Rust 编写驱动,不仅能提升稳定性,还让开发团队更有效率。以前要花很大精力在代码审查和漏洞修复上,现在 Rust 自带的内存安全机制就能帮他们自动排查很多问题。而这次的苹果 M1 和 M2 驱动程序,正是以 Rust 为基础,逐步实现更高效的图形渲染支持。

2. OpenGL 4.6 支持——老硬件的新体验

很多人对 OpenGL 4.6 可能不太熟悉,简单来说,它是一个广泛使用的图形接口标准。图形接口就像一座桥梁,让开发者可以编写图形应用程序,而不必理会底层的硬件复杂性。这次苹果 GPU 驱动更新支持了 OpenGL 4.6,意味着苹果 M1 和 M2 芯片的用户可以体验到更高质量的图形渲染效果。尤其是对一些图形设计师或游戏开发者来说,这一改进可以帮助他们在 Mac 上实现更逼真的视觉效果。

图片

不过值得一提的是,尽管硬件本身有一些限制,比如苹果 GPU 不支持硬件细分着色器,开发团队还是通过软件模拟的方式来实现了细分着色器功能。这种“以软件补足硬件缺陷”的做法让人拍手叫好!虽然软件模拟在性能上比不上硬件支持,但在 OpenCL(并行计算框架)下,苹果 M1/M2 的 GPU 表现居然能达到每秒 265 帧,这个速度已经足够应对大部分日常图形任务了。

3. Vulkan 1.3 的兼容性——多平台的福音

说到 Vulkan,它是一个跨平台的图形接口标准,和 OpenGL 类似,但它更“低级”,也就是说,开发者可以更精细地控制 GPU 资源分配。Vulkan 尤其适合需要高效运算的 3D 游戏和大型渲染任务。

图片

这次苹果的 GPU 驱动兼容了 Vulkan 1.3,意味着很多依赖 Vulkan 的游戏和应用程序可以在 Mac 上更顺畅地运行。想象一下,那些原本只能在 Windows 或 Linux 系统上畅玩的游戏,现在在苹果 M1 或 M2 设备上也可以“无缝”运行,这对玩家来说无疑是一件好事!尽管目前在 M1 和 M2 上运行大型游戏还面临一些挑战,特别是内存页面大小的问题,开发团队提到可以借助虚拟机解决这一难题。也就是说,通过虚拟化,驱动程序可以更好地适配不同的页面大小,进一步提升运行效率。

4. DirectX 兼容性——为更多游戏打开大门

对于游戏玩家来说,DirectX 是一个非常熟悉的名词,它几乎是所有 Windows 游戏的必备接口。这次更新中,苹果的驱动程序还支持了多个 DirectX 版本,这无疑是个好消息。尽管苹果用户暂时还不能直接运行 Windows 游戏,但这种跨平台兼容性的提升,意味着未来在 Mac 上玩 Windows 游戏将更加轻松。

图片

5. 接下来还需要克服哪些挑战?

尽管现在苹果 M1 和 M2 的 GPU 驱动已经取得了一定进展,但要在这些芯片上流畅地运行高端游戏依然面临不少技术难题。首先是性能优化问题,特别是一些游戏对 GPU 的要求非常高,苹果硬件的特性让某些功能实现起来并不容易。此外,目前的一些模拟实现虽然能弥补硬件的不足,但在性能上始终不如原生支持。

不过,可以预见的是,未来随着驱动程序的不断更新和优化,苹果 M1/M2 的图形处理能力会越来越接近主流 PC 游戏的水平。对于游戏开发者来说,这无疑会是一个新机遇。正如 Rosenzweig 在演讲中提到的那样,驱动开发团队正在一步步突破技术障碍,让苹果用户也能享受到更丰富的游戏体验。

苹果 GPU 驱动更新意味着什么?

总的来说,这次 M1/M2 GPU 驱动程序的更新,无论是对苹果设备用户还是开发者来说,都是一次重大的提升。用 Rust 编写的驱动在安全性和稳定性上有了保障,OpenGL 4.6 和 Vulkan 1.3 的兼容性更是拓宽了图形处理的应用场景。而未来,如果苹果继续在 GPU 驱动上投入更多资源,不仅会吸引更多开发者在 Mac 上推出图形密集型应用,甚至可能推动苹果设备在游戏领域获得更多市场份额。

对于 Mac 用户来说,这也许意味着未来不再需要切换到 Windows 玩游戏,而是可以直接在苹果的生态内享受流畅的游戏体验。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。