Vulkan Programming Guide

时间:2021-04-09 17:36:59
【文件属性】:

文件名称:Vulkan Programming Guide

文件大小:17.52MB

文件格式:PDF

更新时间:2021-04-09 17:36:59

Vulkan

Vulkan是用于图形和计算设备的编程接口。 Vulkan设备通常由处理器和多个固定功能硬件块组成,以加速在图形和计算中使用的操作。设备中的处理器通常是一个非常宽的多线程处理器,因此Vulkan中的计算模型主要基于并行计算。 Vulkan设备还可以访问可能与您的应用程序运行所在的主处理器共享或可能不共享的内存。 Vulkan也暴露了这个内存给你。 Vulkan是一个显式的API。也就是说,几乎一切都是你的责任。驱动程序是一个软件,它接收形成API的命令和数据,并将它们转换为硬件可以理解的东西。在较旧的API(如OpenGL)中,驱动程序将跟踪许多对象的状态,为您管理内存和同步,并在运行时检查应用程序中的错误。这对开发人员非常有用,但是一旦应用程序调试和运行正常,就会浪费宝贵的CPU时间。 Vulkan通过将几乎所有状态跟踪,同步和内存管理置于应用程序开发人员手中,并通过对必须启用的层委派正确性的检查来解决这个问题。他们在正常情况下不参与您的申请的执行。 由于这些原因,Vulkan既非常冗长又有点脆弱。你需要做大量的工作,以获得Vulkan运行良好,不正确的使用API​​通常会导致图形损坏,甚至程序崩溃,在旧的API,你会收到一个有用的错误消息。作为交换,Vulkan提供对设备的更多控制,一个干净的线程模型,以及比它取代的API更高的性能。 此外,Vulkan被设计为不仅仅是一个图形API。它可以用于异构设备,如图形处理单元(GPU),数字信号处理器(DSP)和固定功能硬件。功能分为粗粒度,宽泛重叠的类别。当前版本的Vulkan定义了传输类别,用于复制数据;计算类别,用于在计算工作负载上运行着色器;和图形类别,其中包括光栅化,图元装配,混合,深度和模板测试,以及图形编程人员熟悉的其他功能。


网友评论