快捷搜索:  汽车  科技

dota2为什么会火(DoomDota2极品飞车为什么都用它)

dota2为什么会火(DoomDota2极品飞车为什么都用它)说明▲图1-2 Vulkan支持下的Dota 2游戏场景了解Vulkan的具体知识之前,我们有必要首先了解一下市面上主流的各3D图形应用程序接口。目前各平台下主流的3D图形API有OpenGL、OpenGL ES、DirectX、Metal以及Vulkan,其各自的应用领域及特点如下。Vulkan最早被称为下一代OpenGL,项目名称为GLNext。其设计考虑到了统一各个平台的开发,因此不像OpenGL与OpenGL ES那样,根据硬件性能、供电区分不同版本,而是工作站、PC、移动嵌入式等平台完全一致。这对广大开发人员来说,是一个极大的利好。▲图1-1 原版Dota 2游戏场景

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、移动嵌入式等平台完全一致。这对广大开发人员来说,是一个极大的利好。

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

dota2为什么会火(DoomDota2极品飞车为什么都用它)(1)

▲图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所示。

dota2为什么会火(DoomDota2极品飞车为什么都用它)(2)

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

dota2为什么会火(DoomDota2极品飞车为什么都用它)(3)

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

说明

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

  • Dream League Soccer

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

dota2为什么会火(DoomDota2极品飞车为什么都用它)(4)

▲图1-5 Dream League Soccer场景1

dota2为什么会火(DoomDota2极品飞车为什么都用它)(5)

▲图1-6 Dream League Soccer场景2

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

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

dota2为什么会火(DoomDota2极品飞车为什么都用它)(6)

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

本书适合图形程序开发人员、熟悉图形和计算API的程序员阅读,也可供对Vulkan感兴趣的专业人士阅读。

京东网上商城 直达购买

程序员读书会欢迎加入

每日分享IT好书和不定期有奖活动

猜您喜欢: