前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vulkan简介

Vulkan简介

作者头像
雪月清
发布2023-02-13 14:52:06
2.8K0
发布2023-02-13 14:52:06
举报
文章被收录于专栏:雪月清的随笔雪月清的随笔

什么是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

~~END~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雪月清的随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档