还在使用OpenGL ES做渲染,你Out了,赶紧来拥抱Vulkan吧

Vulkan是Khronos组织推出的高效GPU API,旨在替代OpenGL|ES。它提供更简单的驱动层、支持多线程、预编译Shaders和跨平台特性。Vulkan的设计特别考虑了多线程,允许在多个线程中创建命令缓冲,提高渲染效率。在Android平台上,从7.0开始支持Vulkan,通过验证层和运行时库帮助开发者实现高质量的实时图形。
摘要由CSDN通过智能技术生成

背景介绍

Vulkan是Khronos组织制定的“下一代”开放的图形显示API。是与DirectX12能够匹敌的GPU API标准。

Vulkan是基于AMD的Mantle API演化而来,眼下Vulkan 1.0标准已经完毕并正式公布。

上一代的OpenGL|ES并不会被遗弃。还会继续发展,非常有可能OpenGL|ES变为Vulkan的简化API。

Vulkan的优势

与OpenGL|ES相比Vulkan的优势:

1、更简单的显示驱动层

Vulkan提供了能直接控制和訪问底层GPU的显示驱动抽象层。显示驱动仅仅是对硬件薄薄的封装,这样能够显著提升操作GPU硬件的效率和性能。之前OpenGL的驱动层对开发人员隐藏的非常多细节,如今都暴露出来。Vulkan甚至不包括执行期的错误检查层。驱动层干的事情少了,隐藏的bug也就少了。

2、支持多线程

Vulkan不再使用OpenGL的状态机设计,内部也不保存全局状态变量。显示资源全然由应用层负责管理。包括内存管理、线程管理、多线程绘制命令产生、渲染队列提交等。

应用程序能够充分利用CPU的多核多线程的计算资源,降低CPU等待,降低延迟。带来的问题是。线程间的同步问题也由应用程序负责,从而对开发人员的要求也更高。

3、预编译Shaders

驱动层不提供前端shader编译器。仅仅支持标准可移植中间表示二进制代码(SPIR-V)。

即提高了执行Shaders的效率又添加了将来着色语言的灵活性。

所以眼下的GLSL/HLSL能够直接通过工具转换为SPIR-V。在Vulkan中使用。这样就能够使用离线的shader编译。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值