什么是Vulkan?Vulkan的特性和优势

什么是Vulkan

Vulkan是一个低开销、跨平台的适用于高性能的2D、3D图形与计算的API,最早由科纳斯(Khronos Group)在2015年游戏开发者大会(GDC)上发表

起初Vulkan API被称为“次时代OpenGL行动”(next generation OpenGL initiative)或“glNext”,在正式官宣为Vulkan后这些名称就被弃用

目前Vulkan最新Release为1.3的版本,Android版本与Vulkan API版本的对应关系如下

图片

当前市场上支持Vulkan的应用也越来越多,PC端产品包括Dota2、极品飞车等,移动端产品包括王者荣耀、原神等

Vulkan的特性

Vulkan作为新一代图形API,满足如下特性: 

  • Explicit(明确、透明): GPU driver做更少的事情,把控制权移交给上层开发者
  • Streamlined(精简): 更快的性能、更低的开销、更少的延迟
  • Portable(可移植): 支持云、桌面、控制台、移动端和嵌入式等
  • Extensible(可扩展): 支持新功能的扩展、推动行业技术进步

Vulkan对比OpenGL有哪些优势

Vulkan对比OpenGL的优势主要体现在性能和跨平台这两个方面

性能

1. 更显式的渲染流程控制

在OpenGL中,驱动程序会帮助开发者做很多事情,包括API验证、状态管理、内存控制等

图片

而Vulkan提供一个更精简的驱动层,应用层获得更多控制权则能更精细化的控制渲染流程;

比如只在开发阶段添加验证层,发布阶段关闭(听说仅这一项操作性能就能显著提升9倍)

图片

2. 天然的CPU多线程支持

在OpenGL中,所有的渲染操作都需要在绑定Context的线程中执行,从整个应用的负载来看是可能存在较大的资源浪费

图片

而Vulkan中引入了Command Buffer的概念,每个线程都能向Command Buffer中提交渲染指令

图片

通过Command Buffer充分发挥现代CPU多核多线程的优势

图片

跨平台

在2018年的WWDC上,Apple宣布弃用OpenGL、ES和OpenCL

图片

而Vulkan的开发者来自图形领域的各行各业,包括:GPU厂商、系统厂商、游戏引擎厂商等,天然具有跨平台属性

图片

Apple虽然没有在官方层面直接支持Vulkan,但是可以通过MoltenVK在iOS和Mac平台运行Vulkan

  (MoltenVK is a runtime library that maps Vulkan to Apple’s Metal graphics framework on iOS and macOS. With MoltenVK, you get the performance benefits and added debugging and performance tuning capabilities of the Metal framework on iOS and macOS, without having to rewrite your app that already uses Vulkan, the next-generation open-standard API for high performance GPU acceleration)

考虑多端开发的时候,Vulkan跨平台的优势就比较明显了新的一年里,你会学习Vulkan吗?

参考

1.【Vulkan-专为Android打造的高性能3D图像API】https://toutiao.io/posts/4tgbqt/preview

2.【Nvidia Developer Vulkan】https://developer.nvidia.com/vulkan

3.【Vulkan简介】https://zhuanlan.zhihu.com/p/165141740

作者:雪月青 公众号:雪月清的随笔

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论