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

    文章

    8575

    浏览量

    151023
  • API
    API
    +关注

    关注

    2

    文章

    1499

    浏览量

    61965
收藏 人收藏

    评论

    相关推荐

    BQ78412应用程序编程接口

    电子发烧友网站提供《BQ78412应用程序编程接口.pdf》资料免费下载
    发表于 12-18 14:46 0次下载
    BQ78412应用程序<b class='flag-5'>编程</b><b class='flag-5'>接口</b>

    4G模组SD卡接口编程:深度学习

    今天我们需要深度学习的是4G模组SD卡接口编程,以我常用的模组Air724UG为例,分享给大家。
    的头像 发表于 11-20 23:14 200次阅读
    4G模组SD卡<b class='flag-5'>接口</b><b class='flag-5'>编程</b>:深度学习

    通过JTAG接口对MSP430进行编程

    电子发烧友网站提供《通过JTAG接口对MSP430进行编程.pdf》资料免费下载
    发表于 10-31 09:31 0次下载
    通过JTAG<b class='flag-5'>接口</b>对MSP430进行<b class='flag-5'>编程</b>

    特征工程实施步骤

    1.为什么特征工程很重要?对于不同的数据科学家,特征工程可能呈现不同的意义。对于一些数据科学家,特征工程是我们如何缩减用于监督模型的特征(例如,试图预测响应或结果变量)。对于其他人,它
    的头像 发表于 10-23 08:07 252次阅读
    <b class='flag-5'>特征</b>工程实施步骤

    接口芯片的编程模型方法是什么

    接口芯片的编程模型方法是一个复杂的话题,涉及到硬件设计、软件编程、通信协议等多个方面。 1. 接口芯片概述 接口芯片是用来连接不同硬件设备或
    的头像 发表于 09-30 11:30 219次阅读

    浅谈PLC编程软件的特征

    优秀的PLC编程软件通常具备以下特征
    的头像 发表于 09-20 14:59 292次阅读

    如何理解socket编程接口

    Socket编程接口是一种网络编程的基本概念,它提供了一种在不同计算机之间进行通信的方法。 Socket编程接口的基本概念 1.1 Sock
    的头像 发表于 08-16 10:48 405次阅读

    1.5°C精确可编程数字温度传感器,带SPI™接口数据表

    电子发烧友网站提供《1.5°C精确可编程数字温度传感器,带SPI™接口数据表.pdf》资料免费下载
    发表于 08-13 10:09 0次下载
    1.5°C精确可<b class='flag-5'>编程</b>数字温度传感器,带SPI™<b class='flag-5'>接口</b>数据表

    《星际公民》新增Vulkan API和NVIDIA DLSS技术支持,尚未完全支持

    尽管如此,由于该游戏对处理器要求较高,因此即使采用 Vulkan 渲染器,DLSS 与 FSR 技术提升效果有限;另一方面,此举也提示 CIG 需要继续对游戏进行优化。
    的头像 发表于 05-14 09:40 541次阅读

    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 609次阅读

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

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

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

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

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

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

    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 884次阅读