Vulkan
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 1. september 2022; checks kræver
11 redigeringer .
Vulkan |
---|
|
|
Type |
API |
Forfatter |
Khronos Group |
Udvikler |
Khronos Group |
Skrevet i |
C |
Operativ system |
Linux , Android , Microsoft Windows , Fuchsia , BSD Unix [1] , QNX [2] , MacOS , IOS , Nintendo Switch [3]
[4]
[5] , Raspberry Pi [6] , Tizen [7]
[8]
[9] , Stadia , vxWorks [10] |
Første udgave |
16. februar 2016 |
Hardware platform |
på tværs af platforme |
nyeste version |
1.3.233 (3. november 2022) |
Stat |
Faktiske |
Licens |
Apache-licens |
Internet side |
www.vulkan.org |
Mediefiler på Wikimedia Commons |
Vulkan ( rus. Vulkan ) er en cross-platform API til 2D- og 3D-grafik , første gang præsenteret af Khronos Group på GDC 2015 - konferencen [11] [12] .
Vulkan API var oprindeligt kendt som "den næste generation af OpenGL " eller blot "glNext", men efter meddelelsen droppede virksomheden disse navne til fordel for navnet Vulkan [13] . Ligesom OpenGL tillader Vulkan gengivelse i realtid af forskellige 3D-grafikapplikationer såsom spil eller iBooks på alle platforme med høj ydeevne og giver også højere ydeevne og mindre CPU-brug , svarende til Direct3D 12 , Metal og Mantle . Vulkan er baseret på AMD- teknologier i Mantle [14] [15] [16] [17] [18] .
Oversigt
Vulkans mål var at udkonkurrere andre API'er , inklusive dens forgænger OpenGL , med hensyn til lavere overhead, mere direkte kontrol over GPU'en og mindre CPU- overhead . Vulkan har påståede fordele:
- OpenGL bruger et højt niveau sprog til at skrive GLSL shaders . Dette tvinger hver OpenGL -driverleverandør til at implementere deres egen kompiler til GLSL, som kører ved kørsel af grafikapplikationen og kompilerer shader - programmer til eksekverbar kode for målplatformen . Vulkan tilbyder i stedet et mellemliggende binært format kaldet SPIR-V , som ligner det binære format, som HLSL shaders på Direct3D -platformen kompilerer til . Dette fjerner byrden for driverleverandører ved at tillade, at shaders kompileres på designtidspunktet. Tillader også applikationsudviklere at skrive shaders på andre sprog end GLSL.
- Cross -platform API er understøttet på mobile enheder og avancerede grafikkort .
- Forbedret understøttelse af moderne systemer, der bruger multithreading .
- Reduktion af belastningen på CPU'en i situationer, hvor den er underpræsterende, hvilket giver dig mulighed for at opnå højere gennemløb til GPU-beregning og visualisering.
- En seriøs fordel ved Vulkan i forhold til Direct3D 12 var engang evnen til at køre moderne 3D-spil ikke kun i Windows 10 -miljøet , men også på computere, der kører Windows 7 og Windows 8.1 [19] [20] .
For at forenkle udviklingen af applikationer på Vulkan udgav AMD i 2018 en hjælpeskal V-EZ , som påtager sig mange hjælpefunktioner under udviklingen, så udvikleren ikke skal beskæftige sig med alle forviklingerne ved Vulkan API [21] [ 22] .
Historie
I sommeren 2014 startede Khronos Group et projekt for at skabe den næste generation af grafik API . I 2014 blev projektet offentliggjort på SIGGRAPH med opfordring til deltagelse.
Ifølge US Patent and Trademark Office blev varemærket "Vulkan" registreret den 19. februar 2015 [23] .
Vulkan blev officielt navngivet og annonceret på Game Developers Conference 2015, selvom spekulationer og rygter omkring den nye API eksisterede på forhånd. Et af navnene var "glNext" [24] .
Den 3. marts 2015 annoncerede Valve Source 2 , en spilmotor med understøttelse af Vulkan graphics API [25] [26] .
I begyndelsen af 2015 udviklede og introducerede LunarG (finansieret af Valve ) en Linux -driver til Intel , som gjorde det muligt for Vulkan at være kompatibel med HD 4000-seriens integrerede grafiksystem, som på trods af den åbne Mesa -driver ikke er fuldt ud kompatibel med OpenGL 4.0 [ 27] [28] . Der er også mulighed [29] for Ivy Bridge- understøttelse , da den understøtter Direct3D 11 .
Den 10. august 2015 annoncerede Google en fremtidig version af Android med Vulkan-understøttelse [30] .
Den 18. december 2015 annoncerede Khronos Group , at Vulkan 1.0-versionsspecifikationen er næsten færdig og vil blive frigivet, når kompatible drivere bliver tilgængelige .
Den 16. februar 2016 blev den offentlige Vulkan 1.0-specifikation [31] og eksperimentelle drivere til AMD- og Nvidia -grafikkort frigivet .
Den 26. februar 2018 udgav Khronos, som en del af The Vulkan® Portability Initiative-specifikationen, den offentlige version af Vulkan 1.0 SDK til macOS- og iOS-platforme [32] .
Den 7. marts 2018 blev den offentlige specifikation for Vulkan 1.1 [33] frigivet .
Den 15. januar 2020 blev den offentlige specifikation for Vulkan 1.2 [34] frigivet .
Den 15. januar 2020 annoncerede Khronos Group , at Microsofts HLSL - kompiler nu understøtter oversættelse til SPIR-V . HLSL er nu officielt shader-programmeringssproget for Vulkan sammen med GLSL [35] .
Understøttelse af strålesporing blev tilføjet den 17. marts 2020 [36] .
Den 22. januar 2022 blev den offentlige specifikation for Vulkan 1.3 [37] frigivet .
1. september 2022 Frigav VK_EXT_mesh_shader-udvidelsen [38] for at understøtte mesh shaders [39] .
Brug af Vulkan
Spil
- Talos Principle er det første spil fra det kroatiske firma Croteam , der bruger denne teknologi i praksis. [40]
- Dota 2 - Eksperimentel support til Vulkan blev tilføjet den 23. marts 2016 og blev frigivet i maj 2016. [41]
- Doom - Den 11. juli 2016 udgav Id Software en patch til spillet Doom (2016) , hvor gengivelsen af grafik og beregningen af fysiske interaktioner blev lavet om fra OpenGL til Vulkan. [42] [43] [44]
- Doom Eternal - bruger naturligt Vulkan API.
- Rage 2 - bruger naturligt Vulkan API.
- vkQuake - Vulkan-havnen Quake frigivet i juli 2016. [45] [46]
- Den officielle genudgivelse af Quake, udgivet den 19. august 2021, bruger Vulkan som standard.
- Need for Speed: No Limits , Vainglory and Heroes of Incredible Tales - I juni 2016 annoncerede Samsung understøttelse af portering af spil fra OpenGL ES til Vulkan til Samsung Galaxy S7- smartphonen . [47]
- Mad Max (spil, 2015) - Den 30. marts 2017 gik en Linux-version af spillet ved hjælp af Vulkan i beta-testning.
- Olympus Rising - Support tilføjet den 20. august 2016.
- Rust - Support tilføjet den 13. januar 2017.
- Destinationer – Support tilføjet 22. februar 2017.
- Wolfenstein II: The New Colossus - Support tilføjet 27. oktober 2017. [48]
- Flugt fra Tarkov - Fremtidig støtte annonceret. [49]
- X4 Foundations - Vulkan support annonceret. [halvtreds]
- Star Citizen - Vulkan support annonceret. [51]
- No Man's Sky - Support tilføjet i patch 1.77.
- World War Z - bruger naturligt Vulkan API.
- Red Dead Redemption 2 - Bruger naturligt Vulkan API. Spillet understøtter to API'er - Vulkan og DirectX 12, men ifølge spillerfeedback og anmeldelser er ydeevnen bedre, når du bruger Vulkan [52] .
- Detroit: Become Human - bruger oprindeligt Vulkan API .
- Tom Clancy's Rainbow Six Siege og Tom Clancy's Ghost Recon Breakpoint - Eksperimentel understøttelse af Vulkan API blev tilføjet den 28. januar 2020
- X-Plane 11 - Den 3. april 2020 udgav udviklerstudiet bag flysimuleringsspillet opdatering 11.50, som inkluderer Vulkan API.
- Path of Exile - Update 3.10.2 blev udgivet den 28. maj 2020 for at understøtte betaversionen af den Vulkan-baserede renderer. [53]
- Baldur's Gate III - bruger naturligt Vulkan API. Spillet understøtter to API'er - Vulkan og DirectX 11.
- War Thunder - Vulkan-understøttelse blev tilføjet til OpenGL, i øjeblikket er Vulkan standard på i det mindste Linux-versionen af klienten.
- PUBG: New State - Mobilspil med Vulkan GUI og OpenGL ES Support ved lancering (11/04/2021)
- Counter-Strike: Global Offensive – Tilføjet support den 11. december 2021. DXVK (DirectX Vulkan)
- Brawl Stars - Mobilt spil på tværs af platforme. Support blev tilføjet den 16. december 2021. Spillet understøttede tidligere OpenGL.
Spilmotorer
- Kilde 2 - I marts 2015 annoncerede Valve Corporation kilde 2, som modtog støtte fra Vulkan.
- Serious Engine 4 - I februar 2016 annoncerede Croteam support til Vulkan i Serious Engine.
- Unreal Engine 4 - I februar 2016 annoncerede Epic Games Unreal Engine 4 med Vulkan-understøttelse.
- Unreal Engine 5 - Da motoren er en fortsættelse af Unreal Engine 4, havde den allerede Vulkan fra begyndelsen.
- Torque 3D - I april 2016 annoncerede udviklerne, at de tilføjede support til Vulkan.
- Quake Engine - Vulkan-understøttelse blev tilføjet i juni 2016.
- id Tech 3 - Vulkan-support blev tilføjet i maj 2017.
- id Tech 4 - Vulkan-support blev tilføjet i august 2017.
- id Tech 6 - I maj 2016 annoncerede id Software, at Doom drevet af id Tech 6 vil understøtte Vulkan.
- id Tech 7 - I juni 2018 annoncerede id Software id Tech 7-motoren, der udelukkende kører på Vulkan.
- Xenko - I juli 2016 blev der tilføjet support til Vulkan.
- Unity - Support til Vulkan dukkede op i version 5.6.
- CryEngine - Vulkan-understøttelse dukkede op i version 5.4.
- Intrinsic er en gratis og open source cross-platform spilmotor, der understøtter Vulkan.
- Unigine - I april 2017 annoncerede Unigine Corp Vulkan-understøttelse af deres Unigine-motor.
- Abyss Engine - I maj 2017 udgav Deep Silver Galaxy on Fire 3 Manticore på Android med Vulkan-understøttelse.
- Banshee 3D er en gratis og open source cross-platform spilmotor, der understøtter Vulkan.
- Godot Engine - Support blev tilføjet i version 4.0. [54]
- Turbo Engine (Leadwerks 5.0) er en betalt motor fra Leadwerks Technologies.
Indpakningsbiblioteker
- Ambolt - Reducerer den tid, det tager at skrive en fungerende Vulkan - applikation fra bunden. En del af GPUOpen- projektet [55] .
- GLOVE - "OpenGL ES Over Vulkan", fungerer som et mellemlag mellem OpenGL ES og Vulkan [56] .
- MoltenVK - tillader Vulkan-applikationer at køre oven på Metal på Apples macOS- og iOS -operativsystemer [57] .
- V-EZ - "Easy Mode" til Vulkan, designet til at forenkle kompleksiteten ved at bruge Vulkan. En del af GPUOpen- projektet [58] .
- Vulkan-Hpp er en indpakning til C++ programmeringssproget [59] .
- Vulkano er en indpakning til Rust-programmeringssproget [60] .
- PasVulkan er en indpakning til Object Pascal-programmeringssproget [61] .
- NVK - Vulkan API for Node.js , giver dig mulighed for at skrive applikationer i JavaScript og TypeScript programmeringssprog [62] .
- DXVK - en indpakning til brug af DirectX 9-11 spil og applikationer under Vulkan uden at skulle omskrive dem
- nGlide er en indpakning til at bruge Glide-spil og applikationer under Vulkan uden at skulle omskrive dem.
- D9VK er en indpakning til brug af DirectX 9-spil og applikationer under Vulkan uden at skulle omskrive dem.
Kompatibilitet
Den oprindelige specifikation angiver, at Vulkan vil køre på hardware, der i øjeblikket understøtter OpenGL ES 3.1 eller OpenGL 4.x og højere [63] . Vulkan vil kræve nye grafikdrivere som support , men det betyder ikke nødvendigvis, at alle eksisterende enheder, der understøtter OpenGL ES 3.1 eller OpenGL 4.x , vil have Vulkan-aktiverede
drivere tilgængelige.
Se også
Noter
- ↑ Vulkan på FreeBSD . Vulkan GPU-oplysninger (1. juni 2021). Hentet 22. maj 2022. Arkiveret fra originalen 14. marts 2022. (ubestemt)
- ↑ Vulkan på QNX . www.khronos.org (14. juli 2021). Hentet 14. juli 2021. Arkiveret fra originalen 14. juli 2021. (ubestemt)
- ↑ Nintendo Switch opført som Vulkan og OpenGL Conformant - My Nintendo News . Mine Nintendo nyheder . Excite Global Media (19. december 2016). Hentet 14. juli 2021. Arkiveret fra originalen 14. juli 2021. (ubestemt)
- ↑ Palumbo, Alessio Nintendo Switch understøtter officielt Vulkan, OpenGL 4.5 & OpenGL ES . WCCF Tech (19. december 2016). Hentet 14. juli 2021. Arkiveret fra originalen 14. juli 2021. (ubestemt)
- ↑ Overensstemmende produkter . chronos.org . Khronos-gruppen (28. april 2018). Hentet 28. februar 2018. Arkiveret fra originalen 28. januar 2017. (ubestemt)
- ↑ Vulkan på Raspberry Pi . www.raspberrypi.org (14. juli 2021). Hentet 14. juli 2021. Arkiveret fra originalen 20. juli 2021. (ubestemt)
- ↑ Vulkan nu officiel, med 1.0 API-udgivelse og AMD-driver [Opdateret ] . Ars Technica . Conde Nast (16. februar 2016). Hentet 18. februar 2016. Arkiveret fra originalen 14. juli 2021. (ubestemt)
- ↑ Valich, Theo Mantle Cycle er fuldført, da Khronos udgiver Vulkan 1.0 . VR World (17. februar 2016). Hentet 19. februar 2016. Arkiveret fra originalen 11. maj 2022. (ubestemt)
- ↑ GitHub - KhronosGroup/MoltenVK: MoltenVK er en implementering af den højtydende, industristandard Vulkan-grafik og computer-API, der kører på Apples Metal-grafikramme, hvilket bringer Vulkan til iOS og macOS. . Hentet 12. september 2019. Arkiveret fra originalen 19. juli 2021. (ubestemt)
- ↑ VxWorks tilbyder support til mange standard grafiske biblioteker, såsom ... og Vulkan . WinDriver . Hentet 8. november 2021. Arkiveret fra originalen 8. november 2021. (ubestemt)
- ↑ Vulkan: Graphics and compute Belong Together (PDF). Khronos.org (marts 2015). Hentet 5. marts 2015. Arkiveret fra originalen 18. december 2016. (ubestemt)
- ↑ Vulkan - Grafik og computer hører sammen . Khronos.org. Hentet 5. marts 2015. Arkiveret fra originalen 9. maj 2021. (ubestemt)
- ↑ glNext afsløret som Vulkan graphics API . Hentet 27. marts 2015. Arkiveret fra originalen 14. oktober 2016. (ubestemt)
- ↑ Mantle er en Vulkan: AMD's døde grafik-API rejser sig fra asken i OpenGL's efterfølger | PCworld . Hentet 27. marts 2015. Arkiveret fra originalen 7. november 2016. (ubestemt)
- ↑ AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs (ikke tilgængeligt link) . community.amd.com. Dato for adgang: 5. marts 2015. Arkiveret fra originalen 6. marts 2015. (ubestemt)
- ↑ Ikke død endnu: AMD's Mantle driver den nye Vulkan API, VR-indsats . ekstremteknologi. Hentet 5. marts 2015. Arkiveret fra originalen 22. april 2016. (ubestemt)
- ↑ AMD's kappe lever videre i Vulkan - lægger grundlaget for den næste OpenGL . Wccftech.com (20. juni 2014). Hentet 5. marts 2015. Arkiveret fra originalen 19. august 2020. (ubestemt)
- ↑ Kirsch, Nathan Er AMD Mantle Dead, som vi har kendt det? Vulkan API bruger Mantle-teknologi til OpenGL . lovlige anmeldelser. Hentet 5. marts 2015. Arkiveret fra originalen 26. juni 2015. (ubestemt)
- ↑ Vulkan™ API | AMD . Hentet 24. november 2019. Arkiveret fra originalen 14. juli 2019. (ubestemt)
- ↑ Vulkan API understøtter officielt multi-GPU på Windows 10, Windows 7, Windows 8.1 og Linux . Playground.ru. Hentet: 24. november 2019. (Russisk)
- ↑ AMD open-sourced V-EZ, en indpakning til den cross-platform, lav-niveau Vulkan API . Hentet 28. august 2018. Arkiveret fra originalen 28. august 2018. (ubestemt)
- ↑ GitHub - GPUOpen-LibrariesAndSDKs/V-EZ . Hentet 28. august 2018. Arkiveret fra originalen 29. august 2018. (ubestemt)
- ↑ Varemærkestatus og dokumenthentning . tsdr.uspto.gov. Hentet 9. november 2015. Arkiveret fra originalen 11. maj 2013. (ubestemt)
- ↑ glNext afsløret som Vulkan graphics API . www.develop-online.net. Hentet 9. november 2015. Arkiveret fra originalen 14. oktober 2016. (ubestemt)
- ↑ Valve annoncerer Source 2-motor, gratis for udviklere . Polygon. Hentet 9. november 2015. Arkiveret fra originalen 5. marts 2015. (ubestemt)
- ↑ GDC 2015: Ventil annoncerer kilde 2-motor - IGN . IGN. Hentet 9. november 2015. Arkiveret fra originalen 4. marts 2015. (ubestemt)
- ↑ Valve udviklet en Intel Linux Vulkan GPU-driver - Phoronix . www.phoronix.com. Dato for adgang: 9. november 2015. Arkiveret fra originalen 24. september 2015. (ubestemt)
- ↑ Lær mere om Intel Vulkan-driveren, Linux Vulkan-planer - Phoronix . www.phoronix.com. Dato for adgang: 9. november 2015. Arkiveret fra originalen 24. september 2015. (ubestemt)
- ↑ Evan Odabashian på Twitter . Twitter. Hentet 9. november 2015. Arkiveret fra originalen 19. august 2020. (ubestemt)
- ↑ Reto Meier. Lav-overhead-gengivelse med Vulkan | Android-udviklerblog . Lav-overhead-gengivelse med Vulkan | Android-udviklerblog (10. august 2015). Hentet 9. november 2015. Arkiveret fra originalen 8. marts 2016. (ubestemt)
- ↑ Khronos Vulkan Registry . www.khronos.org. Hentet 9. marts 2018. Arkiveret fra originalen 10. marts 2018. (ubestemt)
- ↑ Vulkan-applikationer aktiveret på Apple-platforme . www.khronos.org. Dato for adgang: 28. februar 2018. Arkiveret fra originalen 28. februar 2018. (ubestemt)
- ↑ Khronos Group udgiver Vulkan 1.1 . www.khronos.org. Hentet 9. marts 2018. Arkiveret fra originalen 14. april 2022. (ubestemt)
- ↑ Khronos Group udgiver Vulkan 1.2 . www.khronos.org. Hentet 15. januar 2020. Arkiveret fra originalen 11. maj 2022. (ubestemt)
- ↑ HLSL som et førsteklasses Vulkan Shading Language . www.khronos.org. Hentet 15. januar 2020. Arkiveret fra originalen 15. januar 2020. (ubestemt)
- ↑ Khronos Group udgiver Vulkan Ray Tracing . www.khronos.org. Hentet 17. marts 2020. Arkiveret fra originalen 17. marts 2020. (ubestemt)
- ↑ Khronos styrker Vulkan-økosystemet med frigivelse af Vulkan 1.3, offentlig køreplan og profiler . www.khronos.org. Hentet 25. januar 2022. Arkiveret fra originalen 25. januar 2022. (ubestemt)
- ↑ VK_EXT_mesh_shader . (ubestemt)
- ↑ Mesh Shading til Vulkan . (ubestemt)
- ↑ Quick Look: Vulkan Performance on The Talos Principle , Anandtech (17. februar 2016). Arkiveret fra originalen den 15. maj 2022. Hentet 19. februar 2016.
- ↑ Dota 2-opdatering - 23. maj 2016 . store.steampowered.com . Ventil. Hentet 24. maj 2016. Arkiveret fra originalen 8. november 2020. (ubestemt)
- ↑ Vulkan Support Now Live - FAQ ( 11. juli 2016). Arkiveret fra originalen den 17. juni 2017. Hentet 1. april 2017.
- ↑ DOOM blev det første blockbuster-spil, der understøttede Vulkan API (russisk) , OSZone (11. juli 2016). Arkiveret fra originalen den 14. juli 2016. Hentet 11. juli 2016.
- ↑ DOOM - Vulkan Support Now Live . bethesda.net . Hentet 11. juli 2016. Arkiveret fra originalen 6. august 2019. (ubestemt)
- ↑ Papadopoulos, John Her er dit første kig på det første Quake, der bliver genskabt i Unreal Engine 4 (fanprojekt) . Dark Side of Gaming (21. juli 2016). Hentet 26. august 2016. Arkiveret fra originalen 12. april 2022. (ubestemt)
- ↑ Larabel, Michael Quake 1 porteret til at køre på Vulkan . Phoronix . Phoronix Media (25. juli 2016). Hentet 26. august 2016. Arkiveret fra originalen 11. maj 2022. (ubestemt)
- ↑ Se hvordan Vulkan API og Galaxy S7 skaber flere fordybende spiloplevelser , 2016-06-28. Arkiveret fra originalen den 24. februar 2017. Hentet 1. april 2017.
- ↑ Tiago Sousa tweet 06/12/2017 . Hentet 19. juni 2017. Arkiveret fra originalen 30. maj 2019. (ubestemt)
- ↑ Forum: Vulkan API-understøttelse? . Hentet 19. juni 2017. Arkiveret fra originalen 22. juli 2017. (ubestemt)
- ↑ X4 Foundations: neue 3D-Engine auf Basis von Vulkan wegen VR (tysk) , PC Games Hardware . Arkiveret fra originalen den 14. november 2017. Hentet 14. november 2017.
- ↑ forums.robertsspaceindustries.com (downlink) . Arkiveret fra originalen den 1. maj 2017. (ubestemt)
- ↑ Red Dead Redemption 2 Videokort Benchmarks . Overclockers.ua. Hentet 24. november 2019. Arkiveret fra originalen 19. december 2019. (Russisk)
- ↑ Opdater 3.10.2 med en betaversion af den Vulkan-baserede renderer (russisk) , Path of Exile (28. maj 2020). Hentet 28. maj 2020.
- ↑ Godot Engine. Godot Engine - Godot 3.1 er ude, hvilket forbedrer brugervenlighed og funktioner . godoengine.org. Hentet 17. marts 2019. Arkiveret fra originalen 18. marts 2019. (ubestemt)
- ↑ Ambolt-projekt på GitHub
- ↑ GLOVE-projekt på GitHub
- ↑ MoltenVK-projekt på GitHub
- ↑ V-EZ-projekt på GitHub
- ↑ KhronosGroup/Vulkan-Hpp . - 2020-12-07. Arkiveret 15. december 2020.
- ↑ Vulkano-projekt på GitHub
- ↑ PasVulkan-projekt på GitHub
- ↑ NVK-projekt på GitHub
- ↑ Vulcan Oversigt . Khronos-gruppen. Hentet 5. juli 2016. Arkiveret fra originalen 8. december 2015. (ubestemt)
Litteratur
- Sælgere G. Vulkan. Udviklervejledning = Vulkan. programmeringsvejledning. - DMK Press , 2017. - 394 s. - ISBN 978-5-97060-486-1 .