vulkan是什么|光遇vulkan怎么解决

vulkan是什么|光遇vulkan怎么解决

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等平台。

Vulkan最早被称为下一代OpenGL,项目名称为GLNext。其设计考虑到了统一各个平台的开发,因此不像OpenGL与OpenGL ES那样,根据硬件性能、供电区分不同版本,而是工作站、PC、移动嵌入式等平台完全一致。这对广大开发人员来说,是一个极大的利好。

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中使用,大大提高了灵活性。
  • Vulkan将计算任务和图形着色渲染任务统一管理,无需使用单独的计算和图形应用程序接口进行连接。
  • 不同于OpenGL的状态机,在运行任务时会自动进行各种错误检查(不可关闭)。Vulkan为了追求更高的执行效率,将各种错误的检查设计为可插拔模式。开发人员可以在开发调试时打开所需的错误检查项目,在发布时关闭错误检查项目,以达到更好的性能。
  • Vulkan在架构层面提供了对多轮渲染的支持,使得可以以更高的效率实现延迟渲染以在特定场景下大大提高渲染效率。

Vulkan本身博大精深,其革命性的设计远远不止上述这些,读者可以跟随本书的脚步逐渐深入地学习Vulkan的方方面面。

1.1.2 支持Vulkan的游戏概览

通过前面简单的介绍,读者已基本了解到Vulkan相比于传统图形应用程序接口的多项优势。正因为Vulkan这些突出的特性,目前市面上已有几款知名游戏开始使用Vulkan。但由于Vulkan诞生的时间不长,故使用Vulkan的游戏数量还不是很多。接下来,我们将对使用Vulkan的几款游戏进行简单的介绍。

  • Dota

作为一款广受玩家欢迎的巨作,早在2016年Dota 2便推出官方补丁使其支持Vulkan。如图1-1所示为原版Dota 2的游戏场景图,图1-2所示为在Vulkan支持下运行的Dota 2游戏场景图。

▲图1-1 原版Dota 2游戏场景

▲图1-2 Vulkan支持下的Dota 2游戏场景

说明

通过对比图1-1、图1-2可以看出,在游戏画面方面,Vulkan支持下的Dota 2较原版Dota 2场景更加逼真、细腻。在游戏的实际对比测试中,可以感觉到Vulkan支持下的Dota 2运行更加流畅,并且可以观察到CPU使用率更低,这正体现了Vulkan降低CPU开销的特点。

  • 极品飞车

通过对比Dota 2在使用Vulkan前后的场景画面,我们已经观察到了Vulkan在3D图形处理方面的进步。接下来将通过展示Electronic Arts开发的赛车竞技类游戏“极品飞车:无极限”,进一步感受Vulkan的3D图形处理能力,具体情况如图1-3和图1-4所示。

▲图1-3 极品飞车:无极限场景1

▲图1-4 极品飞车:无极限场景2

说明

可以看出上述两幅使用Vulkan API渲染出的“极品飞车:无极限”游戏场景画面光影效果极其逼真,烟雾、运动模糊效果都很真实。

  • Dream League Soccer

介绍完上述两款支持Vulkan的游戏Dota 2和极品飞车之后,不得不介绍First Touch开发的体育类游戏——Dream League Soccer。该游戏自发布以来一直广受玩家的好评,现在更是推出了Vulkan版本,其效果分别如图1-5和图1-6所示。

▲图1-5 Dream League Soccer场景1

▲图1-6 Dream League Soccer场景2

通过对上述几款游戏画面的观察,我们可以领略到Vulkan在3D图形处理方面的能力提升。前面的内容中,多次提到Vulkan的一大优势是能够大幅度降低渲染时的CPU开销,这将直接影响游戏运行及画面的流畅度,有关权威组织对Vulkan这方面的测试也不少。

比如早在2016年Bethesda和Nvidia就进行了相关测试,测试结果表明使用DirectX 11在1080P分辨率下运行《毁灭战士4》,平均帧率在55~60之间。之后,使用Vulkan进行同样的渲染工作,整个游戏帧率提升到了震撼的120以上,可见Vulkan在降低CPU开销及图形渲染等方面均效果显著。

本书系统地介绍下一代OpenGL规范Vulkan,揭示了Vulkan的独特性。本书主要内容包括:内存和资源、队列和命令、数据的移动、图像的展示、着色器和管线、图形管线对象、绘制命令、几何体的处理、片段的处理、同步、数据的回读以及多渲染通道等。

推荐阅读

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    优化PostgreSQL中的批量更新性能

    优化PostgreSQL中的批量更新性能,数据,表格,在Ubuntu 12.04上使用PG 9.1. 我们目前需要24小时才能运行大量UPDATE数据库上的语句,其形式

    诺基亚威图性能好到哪里

    诺基亚威图性能好到哪里,诺基亚,手机,诺基亚威图性能好到哪里这是一部以前列出的手机。即使当时配置不高,该品牌的手机也不依赖于该功能吸

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    国产电脑cpu测试|国产CPU性能

    国产电脑cpu测试|国产CPU性能,,国产CPU性能天玑9000答: 天玑9000更厉害。因为天玑9000是 最新发布的cpu,也是现在的天花板。而麒麟9000是 2

    3d解组快捷键|3d分解快捷键

    3d解组快捷键|3d分解快捷键,,3d分解快捷键选着你要拆的整个物体~转化为可编辑的多边形~选着面得级别~选着你要拆开的的那些面~~最后在修改

    3dmax显示材质快捷键|3Dmax材质快捷键

    3dmax显示材质快捷键|3Dmax材质快捷键,,1. 3Dmax材质快捷键3dmax找回材质的快捷键默认是没有的,但是有一种方法可以快速找回材质,具体操作步

    主流电脑cpu性能分析|cpu性能对比表

    主流电脑cpu性能分析|cpu性能对比表,,1. cpu性能对比表一、参数对比1、r7 5800H:制程工艺为7nm,主频3.2GHz,睿频4.4GHz,线程数是8核16线程,45W

    新老酷睿i3性能对比试验i34130和i33220

    新老酷睿i3性能对比试验i34130和i33220,,新的英特尔酷睿i3-4130 Haswell处理器架构已经推出了很长一段时间,虽然市场的时间还不长,已经成为