Movatterモバイル変換


[0]ホーム

URL:


跳转到内容
维基百科自由的百科全书
搜索

Vulkan

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Vulkan
開發者科納斯組織,基于AMDMantle开发[1][2][3][4][5]
首次发布2016年2月16日,​9年前​(2016-02-16[6]
当前版本
  • 1.4.312(2025年4月4日;穩定版本)[7]
編輯維基數據鏈接
源代码库編輯維基數據鏈接
操作系统AndroidLinuxTizenMicrosoft Windows[8][9]
平台跨平台
类型3D图形与计算API[10]
许可协议
編輯維基數據鏈接
网站www.khronos.org/vulkan/

Vulkan是一個低开销、跨平台的二维、三维图形与计算的應用程式接口(API),[11]最早由科納斯組織在2015年游戏开发者大会(GDC)上發表。[12][13]OpenGL类似,Vulkan針對全平台即時3D图形程式(如電子遊戲交互媒体)而設計,并提供高效能与更均衡的CPUGPU占用,這也是Direct3D 12和AMDMantle的目標。与Direct3D(12版之前)和OpenGL的其他主要区别是,Vulkan是一个底层API,而且能执行并行任务。除此之外,Vulkan还能更好地分配多个CPU核心的使用。[14]

科納斯最先把Vulkan API稱為「次世代OpenGL行動」(next generation OpenGL initiative)或「glNext」,但在正式宣佈Vulkan之後這些名字就沒有再使用了。[15]Vulkan基于Mantle构建,AMD将其Mantle API捐赠给科納斯組織,给予该组织开发底层API的基础,使其像OpenGL一样成为行业标准。[3][10][16][17][18][19][20]

特性

[编辑]
OpenGL与Vulkan都是图形渲染API,GPU处理着色器,而CPU执行其他任务。

Vulkan旨在提供更低的CPU开销与更直接的GPU控制,其理念大致与Direct3D 12和Mantle类似。[21]

以下是Vulkan相对于上一代API的优势:[22]

  • Vulkan API适用于从高性能电脑到移动低功耗设备的显示卡(OpenGL具有名为OpenGL ES的移动设备API子集,它仍是支持Vulkan设备的备选API)。
  • 相比于Direct3D 12,Vulkan与前身OpenGL类似,受多种操作系统支持。Vulkan已经能在Windows 7Windows 8Windows 10TizenLinuxAndroid上运行(iOSmacOS有第三方支持[23])。
  • 通过批量处理(Batching)减少CPU负载,使CPU可以执行更多其他的计算或渲染任务。[21][24]
  • 在多核心CPU上,Vulkan能对核心与线程进行优化。Direct3D 11与OpenGL 4最初为单核心CPU设计,尽管后来出现了针对多核心CPU优化的扩展,不过与Vulkan相比,优化仍不是很好。[25]
  • 减少了驱动程序的开销与维护工作。OpenGL使用高级着色语言GLSL编写着色器,不同的驱动在程序运行时需要执行自身的GLSL编译器,将程序的着色器转换为GPU可执行的机器代码。而Vulkan驱动将着色器语言预先转化为SPIR-V英语Standard Portable Intermediate Representation(Standard Portable Intermediate Representation)的中间二进制格式,其行为类似于Direct3DHLSL着色器。通过着色器预编译,应用程序加载速度更快,并且3D场景可以使用更多种着色器。Vulkan驱动只需对GPU进行优化并生成代码,这使得驱动程序更容易维护,驱动程序包更小(目前GPU供应商仍需在驱动程序中提供OpenGL与OpenCL的支持)。[26]
  • 计算与图形处理的统一管理,因此Vulkan无需与单独的计算API配合使用。

英伟达在2016年时指出,由於OpenGL的复杂度和维护难度比Vulkan低很多,在多数情况下也能提供理想的整体性能,现阶段OpenGL仍是个很好的选择。[27]AMD表示, Vulkan支援Close-To-Metal控制的獨特能力可加快跨 Windows和 Linux的效能並且提高影像品質。現今無其他圖形 API 提供如此強大的作業系統相容性、成像功能和硬體效率組合[28] 。 例如,CPU中包含的集成GPU可與高端專用GPU結合使用,以略微提高性能。

Vulkan 1.1

[编辑]

科納斯在SIGGRAPH2016上宣布Vulkan將支持自動多GPU功能,類似於Direct3D 12所提供的功能[29] ,顯示驅動程序不再需要處理多個GPU的使用,相反,兩個或更多完全不同的GPU之間可以智能地分配工作負載[30]

科納斯於2018年3月7日發布了Vulkan 1.1[31] 。它擴展了幾個核心功能,包括子集操作,例如多視圖、設備組、高級渲染和編輯操作程序跨流程API交互操作。這些核心功能還包括16位內存獲取高級計算,HLSL內存分佈支持,視頻流的顯示,處理和編程,通過許多視頻編輯解碼器生成的YCbcRr顏色格式化紋理的直接抽樣。同時,它還帶來了與DirectX 12的更好兼容性,顯式支持多GPU,光線跟踪支持[32][33],為下一代GPU奠定了基礎。[34]

vulkan 1.2

[编辑]

2020年1月15日,科納斯組織發布了Vulkan 1.2,將23個已經通過驗證的擴展集成到基本Vulkan標準中[35],大部份用來幫助提升Vulkan與其他圖形API之間的兼容層性能。

Vulkan 1.3

[编辑]

2022年1月25日,科納斯組織发布了Vulkan 1.3。[36] 这次更新将另外23个常用的成熟的Vulkan扩展集成到基本的Vulkan标准中。

计划中的功能

[编辑]

科纳斯在SIGGRAPH 2016上宣布,Vulkan将提供类似于Direct3D 12的多卡互联功能。[37]通过Vulkan,不同型号的显卡也能协同工作,而无需NVIDIA SLIAMD Crossfire的支持。Vulkan多卡互联功能允许API在多个不同的显卡之间智能分配负载,例如,CPU上的集成显卡与高端独立显卡协同工作,能够略微提升显示性能。[38]

在2017年5月发行OpenCL 2.2之时,Khronos Group宣布OpenCL将尽可能的汇合于Vulkan,以确使OpenCL软件在这两种API上灵活部署[39][40]。这已经由Adobe的Premiere Rush展示出来,它使用clspv开源编译器[41],编译了大量OpenCL C内核代码,从而在部署于Android的Vulkan运行时系统上运行[42]

历史

[编辑]

2014年6月,科纳斯组织开始了“次世代OpenGL”图形API的计划,并在Valve公司举行项目启动会议。[43]在SIGGRAPH 2014上,项目公之于世。[10]2015年2月19日,Vulkan的商标在美国专利及商标局提交。[44]

2015年早些时候,LunarG英语LunarG(由Valve资助)开发并展示了一款支持Vulkan API的Intel HD Graphics 4000系列Linux驱动程序,不过当时的Mesa开源驱动并不完全兼容OpenGL 4.0。[45][46]

2016年2月16日,科纳斯组织发布了Vulkan 1.0版规范与开源软件开发工具包(SDK)。[6]

支持Vulkan的软件

[编辑]

电子游戏

[编辑]

游戏引擎

[编辑]

开发工具

[编辑]

操作系统组件

[编辑]

Vulkan视窗系统接口(Window System Interface,WSI)的作用类似于OpenGL ESEGL英语EGL[74]EGL能使OpenGL ES程序跟原生视窗系统相通,并控制上下文管理英语Context management缓冲器绑定与渲染同步等。

兼容性

[编辑]

初版Vulkan规范指出,Vulkan能在支持OpenGL ES 3.1或OpenGL 4.x及更高版本的显卡上运行。[75]但Vulkan API本身依赖于新版显卡驱动程序,而且并非所有符合Vulkan规范的显卡都能收到厂商提供的驱动程序更新。

2016年8月22日,Google发布的Android Nougat(Android 7.x)提供对Vulkan的支持。[76]

苹果公司没有对iOS和macOS提供官方Vulkan支持,而Molten公司开发的MoltenVK运行于苹果Metal API,提供Vulkan第三方支持。[23]

参见

[编辑]
  • OpenGL,科納斯組織的另一个图形API
  • OpenCL,科納斯組織的一个异构计算框架
  • Mantle,AMD的底层图形与计算API,Vulkan的前身
  • Direct3D,Windows和Xbox专有的图形API
  • Metal,iOS和macOS的一个底层图形与计算API

參考資料

[编辑]
  1. ^Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts. 2015-03-04 [2015-03-30]. (原始内容存档于2016-04-22)(英语). 
  2. ^Kirsch, Nathan.Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL. Legit Reviews. [2015-06-25]. (原始内容存档于2015-06-26)(英语). 
  3. ^3.03.1Shilov, Anton.AMD: Vulkan absorbed 'best and brightest' parts of Mantle. KitGuru. [2015-06-26]. (原始内容存档于2015-06-26)(英语). 
  4. ^Koduri, Raja.On APIs and the future of Mantle. AMD. 2015-03-04 [2015-05-19]. (原始内容存档于2015-05-20)(英语)....(T)he Khronos Group has selected Mantle to serve as the foundation for Vulkan... 
  5. ^Michaud, Scott.GDC 15: Khronos Acknowledges Mantle's Start of Vulkan. PC Perspective. 2015-03-03 [2015-05-19]. (原始内容存档于2015-05-20)(英语). 
  6. ^6.06.1Khronos Releases Vulkan 1.0 Specification - Khronos Group Press Release. [2017-02-10]. (原始内容存档于2017-12-15)(英语). 
  7. ^v1.4.312. 2025年4月4日 [2025年4月6日]. 
  8. ^Bright, Peter; Walton, Mark.Vulkan now official, with 1.0 API release and AMD driver [Updated]. United Kingdom: Ars Technica. 2016-02-16 [2016-02-18]. (原始内容存档于2016-02-17)(英国英语). 
  9. ^Valich, Theo.Mantle Cycle is Complete as Khronos Releases Vulkan 1.0. VR World. 2016-02-17 [2016-02-19]. (原始内容存档于2022-05-11)(英语). 
  10. ^10.010.110.2More on Vulkan and SPIR - V: The future of high-performance graphics(PDF). Khronos Group: 10. [2015-06-27]. (原始内容(PDF)存档于2016-08-11)(英语). 
  11. ^Does Vulkan support 2D graphics? - LunarG. www.lunarg.com. [2017-02-17]. (原始内容存档于2019-05-02)(美国英语). 
  12. ^Vulkan : Graphics and compute Belong Together(PDF). Khronos.org. March 2015 [2015-03-05]. (原始内容(PDF)存档于2016-12-18). 
  13. ^Vulkan - Graphics and compute belong together. Khronos.org. [2015-03-05]. (原始内容存档于2021-05-09). 
  14. ^Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft - ExtremeTech. ExtremeTech. 2015-03-10 [2017-02-17]. (原始内容存档于2015-03-13)(美国英语). 
  15. ^glNext revealed as Vulkan graphics API. 2015-03-03 [2015-03-30]. (原始内容存档于2016-10-14)(英语). 
  16. ^Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor. PCWorld. [2017-02-17]. (原始内容存档于2016-11-07)(英语). 
  17. ^AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs. Community.amd.com. [2015-03-05]. (原始内容存档于2015-03-06). 
  18. ^Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts. ExtremeTech. [2015-03-05]. (原始内容存档于2016-04-22). 
  19. ^AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL. Wccftech.com. 2014-06-20 [2015-03-05]. (原始内容存档于2020-08-19). 
  20. ^Kirsch, Nathan.Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL. Legit Reviews. [2015-03-05]. (原始内容存档于2015-06-26). 
  21. ^21.021.1Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API. Tom's Hardware. 2015-03-03 [2017-02-18](英语). 
  22. ^FOSDEM 2016 - Vulkan in Open-Source. Fosdem.org. [2017-03-17]. (原始内容存档于2016-03-09)(英语). 
  23. ^23.023.1MoltenVK | Run Vulkan on iOS and OS X. Molten. [2017-02-18]. (原始内容存档于2018-01-05)(美国英语). 
  24. ^Vulkan: High efficiency on mobile - Imagination Technologies. Imagination Technologies. 2015-11-05 [2017-02-18]. (原始内容存档于2015-11-09)(英国英语). 
  25. ^Vulkan: Scaling to multiple threads - Imagination Technologies. Imagination Technologies. 2015-11-24 [2017-02-18]. (原始内容存档于2015-11-26)(英国英语). 
  26. ^Kessenich, John.An Introduction to SPIR-V(PDF).Khronos Group. [2017-02-18]. (原始内容(PDF)存档于2015-03-09). 
  27. ^Transitioning from OpenGL to Vulkan. NVIDIA Developer. 2016-02-11 [2017-03-17]. (原始内容存档于2020-04-25)(英语). 
  28. ^AMD Vulkan API. AMD. [2020-07-26]. (原始内容存档于2019-07-14). 
  29. ^Vulkan Next will bring better support for VR and multiple GPUs. PC World. [2017-03-17]. (原始内容存档于2018-12-06). 
  30. ^Smith, Daniel Williams, Ryan.Ashes of the Singularity Revisited: A Beta Look at Direct3D 12 & Asynchronous Shading. AnandTech. [2017-03-17]. (原始内容存档于2022-04-22). 
  31. ^Khronos Group Releases Vulkan 1.1. The Khronos Group (新闻稿). 2018-03-07 [2018-03-21]. (原始内容存档于2022-04-14)(英语). 
  32. ^Larabel, Michael.Vulkan 1.1.85 Released With Raytracing, Mesh Shaders & Other New NVIDIA Extensions. Phoronix. 2018-09-19 [2018-09-19]. (原始内容存档于2022-05-11). 
  33. ^Larabel, Michael.Vulkan 1.1.91 Released With NV_ray_tracing, AMD Memory Overallocation Behavior. Phoronix. 2018-11-04 [2018-11-04]. (原始内容存档于2022-05-11). 
  34. ^Bright, Peter.Vulkan 1.1 out today, with multi-GPU support, better DirectX compatibility. Ars Terchnica. 2018-03-07 [2018-03-07]. (原始内容存档于2022-04-29). 
  35. ^Khronos Group Releases Vulkan 1.2. The Khronos Group (新闻稿). 2020-01-15 [2020-02-27]. (原始内容存档于2022-05-11)(英语). 
  36. ^Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3, Public Roadmap and Profiles. January 25, 2022 [2023-02-13]. (原始内容存档于2022-01-25). 
  37. ^Vulkan Next will bring better support for VR and multiple GPUs. PCWorld. [2017-03-17]. (原始内容存档于2018-12-06)(英语). 
  38. ^Smith, Daniel Williams, Ryan.Ashes of the Singularity Revisited: A Beta Look at DirectX 12 & Asynchronous Shading. [2017-03-17]. (原始内容存档于2022-04-22). 
  39. ^Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective. www.pcper.com. [May 17, 2017]. (原始内容存档于November 1, 2017). 
  40. ^SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving – Phoronix. www.phoronix.com. [2024-10-13]. (原始内容存档于2020-10-28). 
  41. ^Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv, 2019-08-17 [2019-08-20], (原始内容存档于2020-11-28) 
  42. ^Vulkan Update SIGGRAPH 2019(PDF). [2024-10-13]. (原始内容存档(PDF)于2019-08-20). 
  43. ^The Khronos Group,SIGGRAPH 2015: 3D Graphics API State of the Union, 2015-09-16 [2017-03-17], (原始内容存档于2022-05-11) 
  44. ^Trademark Status & Document Retrieval. tsdr.uspto.gov. [2017-03-17]. (原始内容存档于2013-05-11)(英语). 
  45. ^Valve Developed An Intel Linux Vulkan GPU Driver - Phoronix. www.phoronix.com. [2017-03-17]. (原始内容存档于2022-05-11)(英语). 
  46. ^Learning More About The Intel Vulkan Driver, Linux Vulkan Plans - Phoronix. www.phoronix.com. [2017-03-17]. (原始内容存档于2021-04-17)(英语). 
  47. ^Smith, Daniel Williams, Ryan.Quick Look: Vulkan Performance on The Talos Principle. [2017-03-17]. (原始内容存档于2022-05-15). 
  48. ^新闻 - Dota 2 Update - May 23rd 2016. store.steampowered.com. [2017-03-17]. (原始内容存档于2020-11-08)(中文(中国大陆)). 
  49. ^Bethesda.net. Bethesda.net. [2017-03-17]. (原始内容存档于2022-05-11). 
  50. ^存档副本. [2020-02-01]. (原始内容存档于2022-04-08). 
  51. ^Quake 1 Ported To Run On Vulkan - Phoronix. www.phoronix.com. [2017-03-17]. (原始内容存档于2022-05-11)(英语). 
  52. ^Here is your first look at the first Quake being recreated in Unreal Engine 4 (fan project) - DSOGaming - The Dark Side Of Gaming. www.dsogaming.com. [2017-03-17]. (原始内容存档于2022-04-12)(美国英语). 
  53. ^Valve announces Source 2 engine, free for developers. Polygon. 2015-03-03 [2017-03-17]. (原始内容存档于2015-03-05). 
  54. ^Mahardy, Mike.GDC 2015: Valve Announces Source 2 Engine. IGN. 2015-03-03 [2017-03-17]. (原始内容存档于2015-03-04)(美国英语). 
  55. ^The Talos Principle will support Vulkan – first screenshot released - Croteam. Croteam. 2016-02-05 [2017-03-17]. (原始内容存档于2022-04-12)(美国英语). 
  56. ^Epic Games adds Vulkan support to Unreal Engine 4. bit-tech. [2017-03-17]. (原始内容存档于2017-01-19)(英语). 
  57. ^Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked. www.unrealengine.com. [2017-03-17]. (原始内容存档于2016-08-10)(英语). 
  58. ^Closing in on 3.9 - Forums - Torque 3D. forums.torque3d.org. [2017-03-17]. (原始内容存档于2021-03-18)(英国英语). 
  59. ^Torque 3D 3.8 Released! • r/gamedev. reddit. [2017-03-17]. (原始内容存档于2022-05-11)(英语). 
  60. ^Kharytoniuk, Artem,GitHub - kennyalive/Quake-III-Arena-Kenny-Edition: The cradle of Quake III Arena., 2019-05-16 [2019-05-16], (原始内容存档于2022-05-11) 
  61. ^Vulkan DOOM 3 port based on DOOM 3 BFG Edition. July 2018 [2020-07-26]. (原始内容存档于2022-05-11). 
  62. ^DOOM on Twitter. Twitter. [2017-03-17]. (原始内容存档于2022-05-11)(英语). 
  63. ^DirectX 12, Vulkan support on the way for CryEngine. TweakTown. 2016-08-19 [2017-03-17]. (原始内容存档于2022-05-11)(美国英语). 
  64. ^Xenko Game Engine - Xenko 1.7β released!. xenko.com. [2017-03-17]. (原始内容存档于2019-06-23). 
  65. ^Intrinsic - Open-source cross-platform graphics and game engine. Intrinsic. [2017-03-17]. (原始内容存档于2016-10-27)(美国英语). 
  66. ^Unity engine adds Vulkan support for a big performance boost. The Tech Report. [2017-03-17]. (原始内容存档于2021-09-12). 
  67. ^Introducing the Vulkan renderer preview – Unity Blog. Unity Technologies Blog. [2017-03-17]. (原始内容存档于2021-04-20)(美国英语). 
  68. ^Linietsky, Juan.Godot Engine - Moving to Vulkan (and ES 2.0) instead of OpenGL ES 3.0. Godot. 2018-02-26 [2018-03-07]. (原始内容存档于2020-06-17). 
  69. ^Flax Facts #25 – Vulkan. 2019-04-16 [2020-07-26]. (原始内容存档于2022-05-11). 
  70. ^Rage 2 Uses Just Cause Series' Engine Instead of idTech. Shacknews. [2019-05-31]. (原始内容存档于2022-04-12)(英语). 
  71. ^Qualcomm and NetEase Announce Collaboration to Support Optimization of NetEase Games on Snapdragon 845 Flagship Mobile Platform. Qualcomm. 2017-12-07 [2019-08-03]. (原始内容存档于2022-05-11)(英语). 
  72. ^GPUPerfStudio Vulkan Tools - AMD. AMD. [2017-03-17]. (原始内容存档于2017-01-29)(美国英语). 
  73. ^gskvulkanrenderer.c - gtk+ - Multi-platform toolkit. git.gnome.org. [2017-03-17](英语). 
  74. ^Vulkan 1.0 specification released with day-one support for Wayland. Collabora - Open Source Consulting. [2017-03-17]. (原始内容存档于2016-06-24)(英语). 
  75. ^Vulkan Overview(PDF). Khronos Group. June 2015 [2015-08-18]. (原始内容(PDF)存档于2015-12-08).  p. 19 "Vulkan Status"
  76. ^Developers, Android.Low-overhead rendering with Vulkan - Android Developers Blog. Low-overhead rendering with Vulkan - Android Developers Blog. 2015-08-10 [2017-03-17]. (原始内容存档于2016-03-08). 

外部链接

[编辑]
科納斯組織制定標準
活跃
不活跃
检索自“https://zh.wikipedia.org/w/index.php?title=Vulkan&oldid=86075057
分类:​
隐藏分类:​

[8]ページ先頭

©2009-2025 Movatter.jp