文章插图
Vulkan是一种跨平台的2D和3D图形应用程序接口,最早由Khronos组织在2015年GDC上发布 。其本质上是AMD Mantle的后续版本,继承了前者强大的低开销架构,使开发人员能够方便全面地获取GPU与多核CPU的性能、功能和提升效率 。
相比于OpenGL,Vulkan支持深入硬件底层进行控制,并能大幅度降低CPU在高负载绘制任务中的开销 。同时其对多核心CPU的支持也更加完善,更加适应当下从高端工作站到PC平台到移动平台的多核战略 。
Vulkan因为高性能和低开销而大受欢迎,虽然面市不久,但市面上目前已有不少支持Vulkan的游戏和应用,如《Doom》《Dota2》《极品飞车—无极限》等 。
1.1 Vulkan概览
介绍具体的开发技术之前,本节将首先介绍Vulkan的历史传承以及一些技术特点,同时将Vulkan与其他的图形应用程序接口(OpenGL、DirectX、Metal等)进行简要的比较,最后还会介绍一下当下支持Vulkan的游戏,具体内容如下 。
1.1.1 Vulkan简介
了解Vulkan的具体知识之前,我们有必要首先了解一下市面上主流的各3D图形应用程序接口 。目前各平台下主流的3D图形API有OpenGL、OpenGL ES、DirectX、Metal以及Vulkan,其各自的应用领域及特点如下 。
- OpenGL的应用领域较为广泛,支持多种操作系统平台(如Windows、UNIX、Linux、macOS等) 。基于其开发的应用可以方便、低成本地在不同操作系统平台之间移植 。既可以用于开发游戏,又可以用于开发工业、行业应用 。
- OpenGL ES是专门针对移动嵌入式平台而设计的,实际是OpenGL的剪裁版本 。去除了OpenGL中许多不必要的特性,优化了对性能、供电受限的移动嵌入式平台的支持 。
- DirectX为微软的专有技术,主要用于Windows下游戏的开发,在此领域占有极高的比例 。最新的版本为DirectX 12,此版本也是大大优化了对多核CPU的支持,但仅支持Windows 10 。
- Metal是Apple的专有技术,仅仅能够在macOS以及iOS下使用,应用的领域相对比较狭窄,目前基于它的应用相对较少 。
- Vulkan与OpenGL类似,是跨平台的3D图形应用程序接口,同时支持Windows 7、Windows 8.1、Windows 10、Linux以及Android等平台 。
2016年2月16日,Khronos组织发布了Vulkan的首个正式版本 。从此,数字图形技术产业诞生了一个真正意义上能与DirectX 12、Metal分庭抗礼的全新图形应用程序接口 。到2016年4月,Google在第二个Android N的开发预览版中也正式加入了对Vulkan的支持 。Vulkan的主要特点如下 。
- Vulkan提供更低的运行开销、更直接的GPU控制和较低的CPU负载 。其通过批处理方式有效减少CPU的负载,将CPU从额外的运算和渲染中解放出来去执行其他的任务 。
- 相比于以往面向CPU单核心设计的OpenGL,Vulkan原生支持多线程并发处理,能够更好地与当下普遍采用多核战略的CPU协同工作 。DirectX 12、Metal等厂商专有的新一代图形应用程序接口也都在多线程并发方面提供了支持,可见这是业界发展的大趋势 。
- 着色器方面,Vulkan也不再像OpenGL一样指定高层的着色器编程语言(OpenGL指定采用GLSL着色器编程语言),而是采用一种被称为SPIR-V(Standard Portable Intermediate Representation)的二进制中间层格式 。这样,开发人员在开发Vulkan着色器时可以选用自己青睐的着色器编程语言,诸如GLSL、HLSL等,然后将着色器源代码采用着色器专用编译器编译为SPIR-V格式即可在Vulkan中使用,大大提高了灵活性 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 湘郡未来学校 怎么样
- 脑血栓溶栓怎么办
- 感冒咳嗽胃疼怎么办
- 手心长小水泡很痒怎么办
- 500句考研长难句
- 怎么才能拥抱幸福的爱情
- 知否荣飞燕怎么死的
- 疏油层没了怎么补 疏油层是什么
- 电脑禁用uac怎么解除 uac是什么意思
- 桶干燥放了衣服怎么办 桶干燥可以烘干衣服吗