首页 教育资讯 学习知识 实习报告 调研报告 心得体会 活动总结 工作计划 申请书 句子大全
 首页   >    科学   >    科技

vulkan是什么意思 vulkan怎么开启

2023-02-02

Vulkan作为跨平台2D,3D图形应用程序接口,Khronos组织于2015年首次推出GDC。 它的本质是AMD Mantle后续版,承袭了……

Vulkan作为跨平台2D,3D图形应用程序接口,Khronos组织于2015年首次推出GDC。 它的本质是AMD Mantle后续版,承袭了前两者功能强大低开销架构的特点,让开发人员可以轻松综合获得GPU及多核CPU在性能,功能以及提升效率等方面的优势。

vulkan是什么意思  vulkan怎么开启

与OpenGL相比较,Vulkan对深入硬件底层的控制提供了支持,并且能够大幅降低CPU执行高负载绘制任务所消耗的成本。 同时它对于多核心CPU有了更完善的支撑,更符合目前由高端工作站向PC平台向移动平台转变的多核战略。

Vulkan以其高性能、低开销受到欢迎,尽管面市时间不长,但是市场上现在已经有很多支持Vulkan功能的游戏与应用了,例如《Doom》、《Dota2》、《极品飞车—无极限》等等。

1.1Vulkan概览

在引入具体开发技术前,本部分首先对Vulkan历史传承和部分技术特点做了介绍,并在此基础上对其和其它图形应用程序接口如OpenGL,DirectX,Metal等作了简单对比,最后对目前支持Vulkan开发的软件做了介绍,内容如下所示。

1.1.1Vulkan简介

在学习Vulkan这一特定知识前,需要先学习市场上主流的各种3D图形应用程序界面。 当前各种平台下的主流3D图形API包括OpenGL,OpenGL ES,DirectX,Metal和Vulkan等,这些API分别具有以下应用领域和特征。

OpenGL应用领域比较广,它支持各种操作系统平台,例如Windows,UNIX,Linux,macOS等等。 以它为基础发展起来的应用,能够很容易,低成本地将它移植到各种操作系统平台上。 它可应用于游戏的发展,也可应用于工业,行业的应用发展。

OpenGL ES专为移动嵌入式平台开发,其实就是OpenGL剪裁版本。 去掉OpenGL很多不必要的功能,优化支持性能,供电受限移动嵌入式平台。

DirectX是微软专有技术,它主要应用于Windows下的游戏开发中,在该领域中占据了极高的份额。 最新版是DirectX 12版,该版还在多核CPU支持上进行了极大优化,但只支持Windows10。

Metal作为Apple专有技术仅能用于macOS和iOS之下,其应用领域较为狭隘,当前以其为主的研究也较为匮乏。

Vulkan和OpenGL相似,均为跨平台3D图形应用程序界面,支持Windows7, Windows8.1, Windows10, Linux和Android平台。

Vulkan的第一个名字是新一代OpenGL(GLNext)。它在设计上充分考虑了各平台开发的统一性,所以不像OpenGL和OpenGL ES,依据硬件性能,供电来区别不同的版本,而完全是工作站, PC,移动嵌入式这样的平台。这对于大多数开发人员而言都是巨大的福音。

Khronos组织于2016年2月6日推出第一个Vulkan官方版本。从那时起,数字图形技术产业才有了真正能够和DirectX 12, Metal进行分庭抗礼,全新图形应用程序接口应运而生。至2016年4月份Google还正式将支持Vulkan添加至第二Android N开发预览版。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

作为深受玩家喜爱的大作,Dota 2早在2016年就发布了正式补丁,让它能够支持Vulkan。图1-1是原版《Dota 2》游戏场景图图1-2是Vulkan中支持操作的《Dota》游戏场景图。

vulkan是什么意思 vulkan怎么开启

▲图1-1原Dota 2中的游戏场景

vulkan是什么意思 vulkan怎么开启

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

阐述了

从图1-1和图1-2的比较中我们可以发现,从游戏画面上看,Vulkan所支持的Dota 2比原版Dota 2的场景更真实和精致。在对该游戏进行实际对比测试时,我们能够感受到Vulkan所支持的Dota 2操作较为流畅,并能够观察到CPU使用率较低,这也正反映出Vulkan减少CPU开销。

《极品飞车》

通过对Dota2应用Vulkan前后期场景画面的比较,已观察到Vulkan对3D图形处理的改进。下面就通过演示由Electronic Arts研发的赛车竞技类游戏《极品飞车:无极限》来进一步体会Vulkan在3D图形处理方面的能力,具体案例见图1-3、图1-4。

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

vulkan是什么意思 vulkan怎么开启

▲图1-4极品飞车——无极限场景二

vulkan是什么意思 vulkan怎么开启

阐述了

由此可见以上两款采用Vulkan API绘制“极品飞车:无极限的”的游戏场景画面光影效果极为逼真,烟雾和运动模糊效果非常逼真。

Dream league Soccer

在引入了以上两个支持Vulkan游戏Dota 2以及极品飞车后,就必须引入由First Touch研发的体育类游戏《Dream League Soccer》。这款游戏从一上市就受到玩家们的广泛赞誉,目前更有Vulkan版面世,游戏效果如图1~5、图1~6。

▲图1-5 Dream League Soccer场景1

vulkan是什么意思 vulkan怎么开启

▲图1-6 Dream League Soccer场景2

vulkan是什么意思 vulkan怎么开启

通过观察以上几个游戏画面就能体会到Vulkan处理3D图形能力的增强。在前几期的文章里,我们曾多次提到Vulkan有一个很大的优点就是可以大大降低渲染过程中CPU开销,而CPU开销会直接影响到游戏的操作和画面流畅程度,相关权威组织对于Vulkan在此方面进行了大量的检测。

例如Bethesda与Nvidia早于2016年已经做过相关的实验,实验结果显示利用DirectX 11以1080P的分辨率来操作《毁灭战士4》的平均帧率达到55-60。此后,用Vulkan也做了相同的渲染,游戏整体帧率上升至令人震惊的120甚至更高,由此可见Vulkan对减少CPU开销和图形渲染都有明显效果。

vulkan是什么意思 vulkan怎么开启

书中对新一代OpenGL规范《Vulkan》进行了系统介绍,并揭示其独特之处。本书内容有:内存与资源,队列与命令,数据移动,图像显示,着色器与管线,图形管线物体,绘制命令,几何体处理,片段处理,同步,数据回读,多渲染通道。

本书可供图形程序开发人员,熟悉图形及计算API的程序员使用,亦可供有志于Vulkan研究的专业人员参考。

<<上一篇 2023-02-02 22:20
下一篇>> 2023-02-02 22:05
更多文章推荐