我想了解 Vulkan API 到底是什么。它本质上是在与显卡对话的操作系统上运行的服务吗?或者它到底是什么以及它是如何工作的?例如,我不明白为什么有专门为 Vulkan 编写的显卡驱动程序,Vulkan 只是一个规范还是它是某些东西的实现,或者它到底是如何工作的?
我读过一些文章,包括维基百科页面,但我不明白图形是如何工作的。
Vulkan 只是驱动程序实现者遵循的一个标准,还是一个执行某些操作的实际操作系统服务?
最佳答案
因此,您拥有图形硬件(图形卡),并且有许多不同的卡具有不同的内部结构。如果您想编写 3D 图形应用程序(例如视频游戏),那么您必须确切地知道如何与当前使用的每个显卡进行通信。显然,这是一项繁重的工作,甚至是不可能的,因为许多视频设备的内部工作原理是专有的,不向公众开放。
这就是图形 API 的用武之地。图形 API 为程序员提供了一个与所有支持该 API 的图形硬件进行通信的接口(interface)。例如,您可以使用 DirectX 11 为所有支持它的显卡编写程序。 DirectX 是用于在 MS Windows 和 XBOX 下运行的程序的 API。 Vulkan 也是另一个 API,旨在用于所有支持它的平台,例如 Windows 和 Linux(这些几乎是唯一支持 Vulkan 的操作系统)。
API 的作用是将您的命令转换为图形驱动程序可以理解的内容,并可以针对系统上安装的特定图形卡进行进一步处理。
简而言之,这基本上就是它。您可能想通过搜索图形 API-驱动程序-硬件层来了解更多信息。
关于3d - Vulkan 或 Metal 或这些图形 "APIs"到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57220495/