Vulkan
See artikkel ootab keeletoimetamist. |
Vulkan | |
---|---|
Arendaja | Khronos Group |
Esmaväljalase | 16. veebruar 2016 |
Viimane väljalase | 1.3.301 / 2.11.2024 |
OS | Android, iOS, Linux, macOS, Microsoft Windows, Nintendo Switch, Tizen |
Veebisait |
www |
Vulkan on vähese ressursikuluga, mitmel platvormil töötav 3D-graafika- ja arvutusrakendusliides.
Vulkani sihtmärgiks on suure jõudlusega, reaalajas töötavad 3D-graafika programmid, näiteks mängud ja muu interaktiivne meedia. Võrreldes OpenGLi, Metali ja Direct3Diga üritab Vulkan pakkuda suuremat jõudlust ja suuremat tasakaalu GPU ja CPU kasutamise vahel.
Vulkan kuulutati välja Khronos Groupi poolt 2015. aasta GDC konverentsil.[1] Algselt nimetati Vulkan OpenGLi järgmiseks põlvkonnaks ja talle pandi nimeks "OpenGL next"[2], kuid selle nime kasutamine lõppes pärast Vulkani väljakuulutamist. Vulkan on tuletatud ja ehitatud AMD Mantle'i rakendusliidese baasil, mille AMD annetas Khronosele lootes, et nad suudavad selle baasil luua rakendusliidese, mida saaks kasutada uue standardina, nagu selleks oli olnud OpenGL.[3]
Omadused
[muuda | muuda lähteteksti]Vulkan loodi kavatsustega pakkuda eeliseid võrreldes teiste rakendusliideste ja tema enda eelkäija OpenGL-iga. Vulkan kasutab vähem arvutiressurssi, kuid annab suurema kontrolli GPU üle ja väiksema CPU kasutuse.[4]
Vulkani eelised vanema põlvkonna rakendusliideste ees:
- rakendusliides Vulkan sobib hästi kokku nutiseadmete ja kõrge taseme graafikakaartidega;
- võrreldes Direct3Dga on Vulkan saadaval paljudel tänapäeva arvutite ja nutiseadmete OS-idel, kuid ei ole ühelegi neist lukustatud. Tänu sellele on Vulkanit võimalik kasutada Androidil, Linuxil, Tizenil ja Windowsitel alates Windows 7-st. Vulkanit on võimalik kasutada ka Apple OS-idel, kuid seda võimalust Khronos Group ise ei paku;[5]
- vähendab draiverite ressursikasutust ja CPU koormust;[6]
- parem skaleerimine mitmetuumalistel CPUdel. Vanemad rakendusliidesed olid loodud töötama ühetuumalistel CPUdel ja hiljem uuendatud, et nad saaks ka mitut tuuma korraga kasutada;
- ühendatud arvutuskernelite ja graafika varjutajate haldamine, tänu millele pole vaja kasutada eraldi arvutamis- ja graafikarakendusliideseid.
Planeeritud omadused
[muuda | muuda lähteteksti]2016. aasta SIGGRAPH konverentsil kuulutas Khronos Group, et Vulkan hakkab toetama automaatse multi-GPU omadusi nagu ka Direct3D 12. Multi-GPU toetamine rakendusliideses tähendab, et kadus vajadus SLI ja Crossfire järele, mis nõuavad, et korraga mitme graafikakaardi kasutamisel tuleb kasutada sama graafikakaardi mudelit. Tänu sellele saab rakendusliides jagada töökoormust mitme täiesti erineva graafikakaardi vahel. Näiteks CPU-sse integreeritud GPU-d saaksid aidata palju võimsamaid GPU-sid ja arvuti jõudlust natuke suurendada.[7]
Ajalugu
[muuda | muuda lähteteksti]Khronos Group alustas uue generatsiooni graafika rakendusliidese loomise projekti kohtumisega Valve'i peakorteris. Avalikult kuulutati projekt välja 2014. aasta SIGGRAPH-i konverentsil.
Vulkani kaubamärk registreeriti 19. veebruaril 2015 ja kuulutati välja sama aasta GDC konverentsil[1].
2015
[muuda | muuda lähteteksti]2015. aasta alguses arendas LunarG Linuxi draiveri Inteli jaoks, millega loodi Vulkani ühilduvus HD 4000 sarja integreeritud graafikakaartidega vaatamata sellele, et avaliku lähtekoodiga Mesa draiverid ei ühildunud siis veel täielikult OpenGL 4.0-ga.[8]
10. augustil teatas Google, et kõik tulevased Androidi versioonid toetavad Vulkanit.[9] Android 7.x Nougat sai selle toetuse 22. augustil 2016 ja ka Android 8.0 Oreo.
18. detsembril teatas Khronos Group, et Vulkani 1.0 versiooni tehniline kirjeldus on peaaegu valmis ja see avaldatakse kohe, kui vastavad draiverid on olemas. Tehniline kirjeldus ja Vulkan SDK avalik lähtekood avaldati 16. veebruar 2016.[10]
2016
[muuda | muuda lähteteksti]15. detsembril teatas Unity Technologies, et alates versioonist 5.6 toetab nende videomängu mootor Unity Vulkani rakendusliidest.[11]
2017
[muuda | muuda lähteteksti]9. veebruaril teatas Croteam et nad hakkavad kasutama Vulkani rakendusliidest oma mängudes, et kasutada ära selle platvormidevahelist töövõimet.[12]
19. märtsil teatas Cloud Imperium Games, et nende mäng "Star Citizen" võtab Direct3D asemel kasutusele Vulkani rakendusliidese.[13]
25. juulil avaldas Crytek eelvaade oma videomängu mootoris CryEngine 5.4, millele oli Vulkani toetuse beetaversioon.[14]
2018
[muuda | muuda lähteteksti]26. veebruaril teatas Khronos Group, et rakendusliides Vulkan saab macOS-ile ja iOS-ile tänu MoltenVK-le, mis võimaldab Vulkanil töötada koos Metaliga.[15] Enne seda oli MoltenVK omandiõigusega kaubanduslikult litsentseeritud lahendus, kuid Valve jõudis selle arendajaga kokkuleppele, tänu millele MoltenVK muutus avaliku lähtekoodi lahenduseks. Samal päeval teatas Valve, et nende mäng "Dota 2" hakkab kasutama MoltenVK-d macOS-il.
7. märtsil tuli välja Vulkani versioon 1.1[16]
Ühilduvus
[muuda | muuda lähteteksti]Firma | Riistvara | Tarkvaratoetus: Vulkan 1.0 | ||||||
---|---|---|---|---|---|---|---|---|
Mikroarhitektuur | Saadaval alates | GPUd (kiip) | Graafikakaardid / SoCid | Android | Linux | Microsoft Windows | ||
AMD | ||||||||
GCN 5. | august 2017 | Vega 10 | Radeon Rx Vega seeria | pole teada | AMDGPU PRO (Ubuntu & RHEL) & RADV in Mesa |
Radeon Software | ||
GCN 4. | juuni 2016 | Polaris 10, Polaris 11, Polaris 12 | Radeon Rx 400 seeria, Radeon Rx 500 seeria | |||||
GCN 3. | august 2014 | Tonga, Fiji, Carrizo | Radeon R9 seeria | |||||
GCN 2. | märts 2013 | Bonaire, Hawaii, Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L | Radeon HD 7790, PlayStation 4, Xbox One | eksperimentaalne | ||||
GCN 1. | jaanuar 2012 | Oland, Cape Verde, Pitcairn, Tahiti | Radeon HD 77xx–7900 seeria | |||||
TeraScale 3 | detsember 2010 | Cayman, Trinity/Richland | Radeon HD 69xx seeria, Radeon HD 7xxx–76xx seeria | ei toeta | ||||
TeraScale 2 | september 2009 | Cedar, Cypress, Juniper, Redwood, Palm, Sumo | Radeon HD 5000 seeria, Radeon HD 6350, Radeon HD 64xx–68xx seeria | |||||
TeraScale 1 | mai 2007 | R600, RV630, RV610, RV790, RV770, … | Radeon HD 2000 seeria, HD 3000, HD 4000 | |||||
Nvidia | ||||||||
Volta | December 2017 | GV10x | Nvidia Titan V | Nvidia GeForce driver | Nvidia GeForce driver | |||
Pascal | mai 2016 | GP10x | GeForce 10 series, Tegra X2 | Jah | Nvidia GeForce driver | Nvidia GeForce driver | ||
Maxwell | veebruar 2014 | GM10x, GM20x | GeForce GTX 750 Ti, GTX 750, GTX 860M, GeForce 900 seeria, Tegra X1 | |||||
Kepler | märts 2012 | GK10x, GK110, GK208 | GeForce 600 seeria, GeForce 700 seeria, Tegra K1 | |||||
Fermi | märts 2010 | GF10x, GF11x | GeForce 400 seeria, GeForce 500 seeria | ei toeta | ||||
Tesla | november 2006 | G8x, G9x, GT20x, GT21x | GeForce 8 seeria, GeForce 9 seeria, GeForce 100 seeria, GeForce 200 seeria, GeForce 300 seeria | |||||
Intel | Coffee Lake | octoober 2017 | Core i3-/i5-/i7-8000, | |||||
Kaby Lake | september 2016 | Core i3-/i5-/i7-7000, Pentium xyz, Celeron xyz | Anvil in Mesa 17.1 | Anvil in Mesa | Intel Graphics driver | |||
Skylake | august 2015 | Core i3-/i5-/i7-6000, Core m3-/m5-/m7-6Yxx, Pentium G4xxx, Celeron G39xx | ||||||
Broadwell | september 2014 | Core i3-/i5-/i7-5000, Core M-5Yxx | ei toeta | |||||
Haswell | juuni 2013 | Core i3-/i5-/i7-4000, Pentium G3xxx, Celeron G18xx | ||||||
Ivy Bridge | aprill 2012 | Core i3-/i5-/i7-3000, Pentium G2xxx, Celeron G16xx | ||||||
Sandy Bridge | jaanuar 2011 | Core i3-/i5-/i7-2000, Pentium Gxxx, Celeron Gxxx | ei toeta | |||||
Westmere | jaanuar 2010 | Core i3-/i5-/i7-xxx, Pentium G69xx, Celeron G1101 | ||||||
Imagination Technologies | ||||||||
PowerVR Series 8 | veebruar 2016 | GE8200, GE8300 | PowerVR Graphics SDK v4.1 | |||||
PowerVR Series 7 | november 2014 | GE7400, GE7800, GT7200, GT7400, GT7600, GT7800, GT7900 | Apple A9, A9X, A10 Fusion, Helio X30 (MT6799) | |||||
PowerVR Series 6 | jaanuar 2012 | G6100, G6200, G6230, G6400, G6430, G6630, RK3368, G6050, G6060, G6100 (XE), G6110, GX6240, GX6250, GX6450, GX6650 | Apple A7, A8, A8X, MediaTek MT8173, MT8176, MediaTek MT6595M, MT6595T, MT6595M, MT6795, MT8135, Helio X10 (MT6795), LG H13, Atom Z3460, Z3480, Z3530, Z3560, Z3570, Z3580 | |||||
PowerVR Series 5 | jaanuar 2009 | SGX543, SGX544, SGX554 | Apple S1, A5, A5X, A6, A6X, NovaThor L8540, L8580, L9540, TI OMAP 4470, 5430, 5432, MediaTek MT5327, MT6589M, MT6589T, MT6589, MT8117, MT8121, MT8125, MT8389, Atom Z2460, Z2520, Z2560, Z2580, Z2760, Exynos 5410 | ei toeta | ||||
Qualcomm | ||||||||
Adreno 500 series | Adreno 510, Adreno 530, Adreno 540
Adreno 512 |
Snapdragon 430, 625, 650, 652, 660,820, 821, 835 | 1.0 | |||||
Adreno 400 series | Adreno 418,Adreno 420,Adreno 430 | Snapdragon 415, 615, 616, 617, 805, 808, 810 | 1.0(Adreno 418,430) | |||||
Adreno 300 series | Snapdragon 200, 208, 210, 212, 400, 410, 412, 600, 800, 801 | ei toeta | ||||||
ARM | ||||||||
Bifrost | juuni 2016 | Mali-G71, … | Kirin 960, 970, Exynos 8895, MediaTek Helio P23 (MT6763T), Helio P30 | 1.0 | ||||
Midgard 4. | Q4 2015 | Mali-T860, Mali-T830, Mali-T880 | Exynos 8890, Exynos7880, Exynos 7870, Kirin 950, 955, MediaTek MT6738, MT6750, Helio X20 (MT6797), X25 (MT6797T), P10 (MT6755), P20 (MT6757) | |||||
Midgard 3. | oktoober 2013 | Mali-T760, … | Exynos 7420, Exynos 5433, MT6752, MT6732, RK3288 | |||||
Midgard 2. | august 2012 | Mali-T600 series, T720 | Exynos 5250, 5260, 5410, 5420, 5422, 5430, 5800, 7580, Mediatek MT6735, MT6753, Kirin 920, 925, 930, 935 | ei toeta |
Viited
[muuda | muuda lähteteksti]- ↑ 1,0 1,1 "More on Vulkan and SPIR-V: The future of high-performance graphics" (PDF). Khronos Group. 27. juuni 2015. Vaadatud 1. mai 2018.
- ↑ Smith, Ryan (11. august 2014). "Khronos Announces Next Generation OpenGL Initiative". Anand Tech. Vaadatud 1. mai 2018.
- ↑ Mah Ung, Gordon (6. märts 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PCWorld. Vaadatud 1. mai 2018.
- ↑ "Vulkan - Graphics and compute belong together". Khronos Group. Vaadatud 1. mai 2018.
- ↑ Smit, Dreyer (27. veebruar 2018). "MoltenVK, popular Vulkan development tool for macOS, goes open-source". Neowin. Vaadatud 1. mai 2018.
- ↑ Armasu, Lucian (3. märts 2015). "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Toms Hardware. Vaadatud 1. mai 2018.
- ↑ "AMD Vulkan™ Graphics API". AMD. Vaadatud 1. mai 2018.
- ↑ Larabel, Michael (5. märts 2015). "Valve Developed An Intel Linux Vulkan GPU Driver". Phoronix. Vaadatud 1. mai 2018.
- ↑ Woods, Shannon (10. august 2015). "Low-overhead rendering with Vulkan". Android Developers Blog. Vaadatud 1. mai 2018.
- ↑ "Khronos Releases Vulkan 1.0 Specification". Khronos Group. 16. veebruar 2016. Vaadatud 1. mai 2018.
- ↑ Manion, Wayne (15. detsember 2016). "Unity engine adds Vulkan support for a big performance boost". The Tech Report. Vaadatud 1. mai 2018.
- ↑ Frederiksen, Eric (9. veebruar 2017). "Croteam will take its games cross-platform with Vulkan support". The Tech Report. Vaadatud 1. mai 2018.
- ↑ Palumbo, Alessio (19. märts 2017). "Cloud Imperium Now Only Intends To Support Vulkan, Instead of DirectX 12, for Star Citizen". wccftech. Vaadatud 1. mai 2018.
- ↑ McAloon, Alissa (25. juuli 2017). "CryEngine welcomes Vulkan API support to latest build". Gamasutra. Vaadatud 1. mai 2018.
- ↑ Bright, Peter (26. veebruar 2018). "Vulkan is coming to macOS and iOS, but no thanks to Apple". Arstechnica. Vaadatud 1. mai 2018.
- ↑ "Khronos Group Releases Vulkan 1.1". Khronos Group. 7. märts 2018. Vaadatud 1. mai 2018.