0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vulkan编程接口的特征

汽车玩家 来源:极客教程 作者:极客教程 2020-03-15 17:17 次阅读

Vulkan 简介

Vulkan是一个用于图形和计算设备的编程接口。Vulkan设备通常由一个处理器和一定数量的固定功能硬件模块组成,用于加速图形和计算操作。通常,设备中的处理器是高度线程化的,所以在极大程度上Vulkan里的计算模型是基于并行计算的。Vulkan还可以访问运行应用程序的主处理器上的共享或非共享内存。Vulkan也会给开发人员提供这个内存。

Vulkan是个显式的API,也就是说,几乎所有的事情你都需要亲自负责。驱动程序是一个软件,用于接收API调用传递过来的指令和数据,并将它们进行转换,使得硬件可以理解。在老的API(例如OpenGL)里,驱动程序会跟踪大量对象的状态,自动管理内存和同步,以及在程序运行时检查错误。这对开发人员非常友好,但是在应用程序经过调试并且正确运行时,会消耗宝贵的CPU性能。Vulkan解决这个问题的方式是,将状态跟踪、同步和内存管理交给了应用程序开发人员,同时将正确性检查交给各个层进行代理,而要想使用这些层必须手动启用。这些层在正常情况下不会在应用程序里执行。

由于这些原因,Vulkan难以使用,并且在一定程度上很不稳定。你需要做大量的工作来保证Vulkan运行正常,并且API的错误使用经常会导致图形错乱甚至程序崩溃,而在传统的图形API里你通常会提前收到用于帮助解决问题的错误消息。以此为代价,Vulkan提供了对设备的更多控制、清晰的线程模型以及比传统API高得多的性能。

另外,Vulkan不仅仅被设计成图形API,它还用作异构设备,例如图形处理单元(Graphics Processing Unit,GPU)、数字信号处理器(Digital Signal ProcessorDSP)和固定功能硬件。功能可以粗略地划分为几类。Vulkan的当前版本定义了传输类别——用于复制数据;计算类别——用于运行着色器进行计算工作;图形类别——包括光栅化、图元装配、混合、深度和模板测试,以及图形程序员所熟悉的其他功能。

Vulkan设备对每个分类的支持都是可选的,甚至可以根本不支持图形。因此,将图像显示到适配器设备上的API(这个过程叫作展示)不但是可选择的功能,而且是扩展功能,而不是核心API。

Vulkan 特征

同 OpenGL® 一样,Vulkan™ 也由 Khronos 集团开发。它是 AMD Mantle 的后续版本,继承了前者强大的低开销架构,使软件开发人员能够全面获取 Radeon™ GPU 与多核 CPU 的性能、效率和功能。

相对于 OpenGL,Vulkan™ 大幅降低了CPU 在提供重要特性、性能和影像质量时的“API 开销” (CPU 在分析游戏的硬件需求时所执行的后台工作),而且可以使用通常通过 OpenGL 无法访问的 GPU 硬件特性。

独特的跨 OS 支持

Vulkan™ 能够支持深入硬件底层的控制,为 Windows® 7、Windows® 8.1、Windows® 10 和 Linux® 带来更快的性能和更高的影像质量。Vulkan™API 还提供超高的 OS 兼容性、渲染特性和硬件效率。

自动兼容 GCN 架构

目前只有基于GCN架构 的Radeon™显卡拥有强大的“异步计算”功能,使显卡得以并行处理3D几何图形与计算工作量。例如,当游戏需要同时计算复杂照明与渲染人物时,这种功能就找到了用武之地。这些任务并不需要在Radeon™ 显卡上串行运行,因此可以节约时间、提升整体帧速率。现在,设计Vulkan应用的游戏开发者可以在所有近期版本的Windows和Linux系统中利用这种独特硬件特性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148497
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60992
收藏 人收藏

    评论

    相关推荐

    Radeon Vulkan RADV驱动新增支持H.264/H.265编码

    去年5月,David Airlie提出并实现了H.264 / H.265 Vulkan Video编码补丁集,现已融入Mesa 24.1版本之中。针对此次Git主线合并请求,Airlie简短评论道:“此补丁旨在拓展Vulkan,为RADV驱动增加对
    的头像 发表于 04-12 14:59 209次阅读

    编程片上系统的基本特征和主要应用

    编程片上系统是一种特殊的嵌入式系统:首先它是片上系统,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
    的头像 发表于 03-28 15:13 177次阅读

    编程逻辑器件的特征及优势科普

    编程逻辑器件是一种集成电路,具有可编程功能的特性。它们可以根据用户的需求进行编程,从而实现不同的逻辑功能。
    的头像 发表于 02-26 18:24 645次阅读

    verilog与其他编程语言的接口机制

    Verilog是一种硬件描述语言,用于描述数字电路的行为和结构。与其他编程语言相比,Verilog具有与硬件紧密结合的特点,因此其接口机制也有一些与众不同之处。本文将详细介绍Verilog与其他编程
    的头像 发表于 02-23 10:22 207次阅读

    ILLD如和编程实现一个QSPI接口连接多个从设备?

    ILLD如和编程实现一个QSPI接口连接多个从设备?有没有例子?
    发表于 02-06 08:09

    Vulkan 1.3.277新增AV1 Decode扩展,提升视频解码质量

    NVIDIA始终积极投入这一开源计划,不仅持续完善Vulkan Video演示范例,还示范了Encode H.264/H.265以及Decode AV1扩展在其平台上的使用效果。
    的头像 发表于 02-03 14:02 366次阅读

    SENT总线的特征和优势

    SENT总线的特征和优势  SENT总线是一种常用于计算机和电子设备之间的通信接口。它具有许多特征和优势,使得它在现代电子领域中得到广泛应用。 首先,SENT总线是一种数字串行通信协议,它通过串行
    的头像 发表于 12-07 11:15 676次阅读

    如何使用AT32F407以太网通信接口实现在应用中编程(IAP)

    如何使用AT32F407以太网通信接口实现在应用中编程(IAP)
    的头像 发表于 11-07 17:20 601次阅读
    如何使用AT32F407以太网通信<b class='flag-5'>接口</b>实现在应用中<b class='flag-5'>编程</b>(IAP)

    彩色液晶接口电路设计及触摸屏的编程与调试

    电子发烧友网站提供《彩色液晶接口电路设计及触摸屏的编程与调试.pdf》资料免费下载
    发表于 10-25 10:24 0次下载
    彩色液晶<b class='flag-5'>接口</b>电路设计及触摸屏的<b class='flag-5'>编程</b>与调试

    基于Rust语言Hash特征的基础用法和进阶用法

    Rust语言是一种系统级编程语言,具有高性能、安全、并发等特点,是近年来备受关注的新兴编程语言。在Rust语言中,Hash是一种常用的数据结构,用于存储键值对。Rust语言提供了一系列的Hash特征
    的头像 发表于 09-19 16:02 740次阅读

    【CVM01系列】| MCU硬件设计指南:调试和编程接口

    【CVM01系列】| MCU硬件设计指南:调试和编程接口
    的头像 发表于 09-18 10:56 599次阅读
    【CVM01系列】| MCU硬件设计指南:调试和<b class='flag-5'>编程</b><b class='flag-5'>接口</b>

    基于应用程序编程接口(API)的自动化测试(上)

    本文系统介绍了应用程序编程接口(API)的概念及其在软件开发中的作用与重要性,重点分享自动化API测试的发展历程与测试对象。
    的头像 发表于 09-01 11:17 377次阅读

    CUDA编程接口介绍

    编程模型中介绍了核心语言扩展。它们允许程序员将内核定义为c++函数,并在每次调用函数时使用一些新的语法来指定网格和块维度。
    发表于 05-19 14:53 485次阅读

    基于ATmega8单片机同步串行接口SPI的C语言编程源程序

    基于ATmega8单片机同步串行接口SPI的C语言编程源程序
    发表于 05-05 09:17 1次下载

    瑞萨嵌入式应用程序编程接口参考手册

    瑞萨嵌入式应用程序编程接口参考手册
    发表于 05-04 19:44 1次下载
    瑞萨嵌入式应用程序<b class='flag-5'>编程</b><b class='flag-5'>接口</b>参考手册