百科

vulkan是什么

  • 喜欢学习网
  • 2024-05-20 11:53:06

Vulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯组织(Khronos Group)在2015年游戏开发者大会(GDC)上发表。

科纳斯最先把VulkanAPI称为“次世代OpenGL行动”(next generation OpenGL initiative)或“glNext”,但在正式宣布Vulkan之后这些名字就没有再使用了。就像OpenGL,Vulkan针对实时3D程序(如电子游戏)设计,Vulkan并计划提供高性能和低CPU管理负担(overhead),这也是Direct3D12和AMD的Mantle的目标。Vulkan兼容Mantle的一个分支,并使用了Mantle的一些组件。

同 OpenGL® 一样,Vulkan™ 也由 Khronos 集团开发。它是 AMD Mantle 的后续版本,继承了前者强大的低开销架构,使软件开发人员能够全面获取 Radeon™ GPU 与多核 CPU 的性能、效率和功能。

相对于 OpenGL,Vulkan™ 大幅降低了 CPU 在提供重要特性、性能和影像质量时的“API 开销”(CPU 在分析游戏的硬件需求时所执行的后台工作),而且可以使用通常通过 OpenGL 无法访问的 GPU 硬件特性。

特性要求

Explicit(明确、透明)

GPU driver做更少的事情,把更多的控制权交给开发者

Streamlined(精简)

更快的性能,更低的开销,更少的延迟

Portable(可移植)

Cloud, desktop, console, mobile and embedded

Extensible (可扩展)

支持新功能的扩展,推动行业技术进步

Vulkan相对于上一代API的优势

Vulkan API适用于从高性能电脑到移动低功耗设备的显卡(OpenGL具有名为OpenGL ES的移动设备API子集,它仍是支持Vulkan设备的备选API)。

相比于Direct3D 12,Vulkan与前身OpenGL类似,受多种操作系统支持。Vulkan已经能在Windows 7、Windows 8、Windows 10、Tizen、Linux与Android上运行(iOS和macOS有第三方支持)。

通过批量处理(Batching)减少CPU负载,使CPU可以执行更多其他的计算或渲染任务。

在多核心CPU上,Vulkan能对核心与线程进行优化。Direct3D 11与OpenGL 4最初为单核心CPU设计,尽管后来出现了针对多核心CPU优化的扩展,不过与Vulkan相比,优化仍不是很好。

减少了驱动程序的开销与维护工作。OpenGL使用高级着色语言GLSL编写着色器,不同的驱动在程序运行时需要执行自身的GLSL编译器,将程序的着色器转换为GPU可执行的机器代码。而Vulkan驱动将着色器语言预先转化为SPIR-V(Standard Portable Intermediate Representation)的中间二进制格式,其行为类似于Direct3D的HLSL着色器。通过着色器预编译,应用程序加载速度更快,并且3D场景可以使用更多种着色器。Vulkan驱动只需对GPU进行优化并生成代码,这使得驱动程序更容易维护,驱动程序包更小(GPU供应商仍需在驱动程序中提供OpenGL与OpenCL的支持)。

计算与图形处理的统一管理,因此Vulkan无需与单独的计算API配合使用。

相关文章

  • 海狮的介绍
  • 全家指的是什么意思
  • 鲁迅的 我以我血荐轩辕 是什么意思呢
  • 什么是珠心算
  • 和合是什么意思
  • 知网校园登录入口
  • 良辰美景奈何天 是什么意思
  • 什么是善待他人
  • 张俊以学历
  • 秸秆综合利用五种方法
  • 世界上最庞大的数字(世界上最大的,数字)
  • 包含陈敏之失禁的词条
  • 世界上最极速的火车(世界上速度最快的火车)
  • 南华经(南华经是哪本书的别称)
  • 北京天上人间花魁之首是谁(天上人间的花魁都去哪了)
  • 什么是副歌(什么是副歌部分什么是主歌部分)
  • 嫪毐为什么性功能强大(痩人性功能好吗)
  • 世界十大通缉犯2017的简单介绍
  • 高尔夫球事件(高尔夫球事件经过)
  • 世界十大古都是哪里(世界有名的古都)