Vulkan 或金属或这些图形中的任何一个 "APIs" 究竟是什么?

What exactly is Vulkan or metal or any of these graphics "APIs"?

我想解释一下 Vulkan API 到底是什么。它本质上是一种在与图形卡对话的操作系统上运行的服务吗?或者它到底是什么以及它是如何工作的?例如,我不明白为什么会有专门为 Vulkan 编写的显卡驱动程序,Vulkan 只是一个规范,还是某种实现,或者它究竟是如何工作的?

我已经阅读了几篇文章,包括维基百科页面,但我不明白图形是如何工作的。

Vulkan 只是驱动程序实施者遵循的标准,还是真正的操作系统服务?

因此,您拥有图形硬件(图形卡),并且有许多具有不同内部结构的不同图形卡。如果您想编写一个 3D 图形应用程序(例如视频游戏),那么您必须确切地知道如何与当前使用的每个图形卡通信。显然,这需要大量工作,甚至是不可能的,因为许多视频设备的内部运作是专有的,public.

无法使用。

这就是图形 API 的用武之地。图形 API 为程序员提供了一个与支持该 API 的所有图形硬件对话的接口。例如,您可以为所有支持它的显卡使用 DirectX 11 编写程序。 DirectX 是一个 API 用于在 MS Windows 和 XBOX 下 运行 的程序。 Vulkan 也是另一个 API,旨在用于所有支持它的平台,例如 Windows 和 Linux(这些几乎是唯一支持 Vulkan 的操作系统)。

API 的作用是将您的命令转换为图形驱动程序可以理解的内容,并可以针对您系统上安装的特定图形卡进一步处理。

简而言之,基本上就是这样。您可能想通过搜索图形 API-驱动程序-硬件层来阅读更多内容。