Vulkan (API)
Vulkan je višeplatformski API za 3D grafiku i računanje. Vulkan je namijenjen za visoko performansne 3D aplikacije u realnom vremenu, kao što su videoigre i interaktivni mediji. U odnosu na OpenGL i Direct3D 11, kao i Direct3D 12 i Metal, Vulkan je namijenjen pružanju većih performansi i uravnoteženoj CPU/GPU upotrebi. Vulkan je API niskog nivoa, tj. ima efikasniju komunikaciju sa hardverom i nudi paralelno obavljanje zadataka. Vulkan također ima mogućnost renderiranja 2D grafičkih aplikacija.[3] Osim manje upotrebe CPU-a, Vulkan je efikasan kod raspoređivanja posla preko više CPU jezgri.[4]
Vulkan | |
---|---|
Programer(i) | Khronos Group |
Prvo izdanje | 16. februar 2016[1] |
Centralna arhiva | github |
Programski jezik | C[2] |
Operativni sistem | Android, Linux, Windows, Nintendo Switch, Google Stadia, Tizen, macOS |
Platforma | Više platformski |
Vrsta | API za 3D grafiku |
Veb-sajt | www |
Vulkan je prvi put najavila neprofitna Khronos Group na GDC-u 2015.[5][6] Vulkan API je prvobitno nazvan "OpenGL nove generacije" ili "OpenGL next",[7] međutim nakon što je izdat, veza sa OpenGL-om više nije spominjana.[8] Vulkan je baziran i izgrađen na komponentama AMD-ovog Mantle API-a, koji je AMD donirao Khronosu s namjerom da Khronosu pruži temelj na kojem će započeti sa razvojem API-ja niskog nivoa.[9][10][11][12][13][14][15] Khronos Group je 7. marta 2018. objavio novi Vulkan 1.1.[16]
Mogućnosti
urediVulkan nudi direktniju kontrolu nad GPU-om i nižu upotrebu CPU-a.[6] Ukupni koncept i skup mogućnosti Vulkana sličan je drugim API-evima: Direct3D 12, Metal i Mantle.
Također, neke od drugih prednosti su:
- Dostupnost na više operativnih sistema za razliku od Direct3D 12; poput OpenGL-a, Vulkan API nije namijenjen samo za jedan OS. Vulkan se može pokrenuti na operativnim sistemima Android, Linux, Tizen, Windows 7, Windows 8 i Windows 10, dok postoji i slobodno licencirana[17][18][19] podrška za iOS i macOS.[20]
- Efikasnija komunikacija sa upravljačkim programima i smanjenje radnog opterećenja CPU-a.[21]
- Bolje skaliranje na višejezgrenim procesorima.[22]
- OpenGL koristi jezik visokog nivoa GLSL za pisanje shadera što prisiljava svaki OpenGL engine da implementira vlastiti kompajler za GLSL kako bi preveo shadere u mašinski kod GPU-a. Vulkanovi upravljački programi predkompajliraju shadere u format koji se zove SPIR-V što ubrzava proces i olakšava korištenje različitih shadera u jednoj sceni.[23]
- Jedinstveno upravljanje računarskim kernelima i grafičkim shaderima, eliminirajući potrebu za korištenjem zasebnog API-ja za računanje u kombinaciji s grafičkim API-jem.
NVIDIA napominje da je OpenGL još uvek odlična opcija za dosta slučajeva, jer je dosta jednostavan i nema veliku potrebu za održavanjem kao Vulkan, a u isto vrijeme još uvijek daje odlične sveukupne performanse.[24]
Također pogledajte
uredi- Direct3D 12 – glavni konkurent Vulkanu
- OpenGL – prethodnik, izdavač je također Khronos
- OpenCL – heterogeni računski okvir, izdavač je također Khronos
- Mantle – grafički i računski API niskog nivoa, osnova Vulkana
- Metal – grafički i računski API niskog nivoa za iOS i macOS
- AMDGPU – AMD-ov potpuno otvoreni objedinjeni grafički pogon za Linux
Reference
uredi- ^ "Khronos Releases Vulkan 1.0 Specification". Khronos Group Press Release.
- ^ https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0/src/vulkan/vulkan.h
- ^ "Does Vulkan support 2D graphics?". LunarG. Pristupljeno 24. 9. 2016.
- ^ Hruska, Joel. "Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft". ExtremeTech. Pristupljeno 26. 6. 2015.
- ^ "Vulkan: Graphics and compute Belong Together" (PDF). Khronos Group. mart 2015. Pristupljeno 5. 3. 2015.
- ^ a b "Vulkan – Graphics and compute belong together". Khronos Group. Pristupljeno 5. 3. 2015.
- ^ Smith, Ryan. "Khronos Announces Next Generation OpenGL Initiative". Pristupljeno 24. 9. 2016.
- ^ Batchelor, James (3. 3. 2015). "glNext revealed as Vulkan graphics API". Develop.
- ^ Shilov, Anton. "AMD: Vulkan absorbed 'best and brightest' parts of Mantle". KitGuru. Pristupljeno 26. 6. 2015.
- ^ "More on Vulkan and SPIR - V: The future of high-performance graphics" (PDF). Khronos Group. str. 10. Pristupljeno 27. 6. 2015.
Thanks AMD!
- ^ Mah Ung, Gordon (6. 3. 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PC World.
- ^ "AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs". AMD. Arhivirano s originala, 6. 3. 2015. Pristupljeno 5. 3. 2015.
- ^ Hruska, Joel (4. 3. 2015). "Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts". ExtremeTech. Pristupljeno 5. 3. 2015.
- ^ "AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL". Wccftech. 20. 6. 2014. Pristupljeno 5. 3. 2015.
- ^ Kirsch, Nathan. "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Pristupljeno 5. 3. 2015.
- ^ "Khronos Group Releases Vulkan 1.1". The Khronos Group (Press release) (jezik: engleski). 7. 3. 2018. Pristupljeno 21. 3. 2018.
- ^ "MoltenVK, popular Vulkan development tool for macOS, goes open-source". Neowin (jezik: engleski). Pristupljeno 28. 2. 2018.
- ^ "Vulkan graphics will enable faster games and apps on Apple platforms". VentureBeat (jezik: engleski). 26. 2. 2018. Pristupljeno 28. 2. 2018.
- ^ "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac - Phoronix". www.phoronix.com (jezik: engleski). Pristupljeno 28. 2. 2018.
- ^ "MoltenVK". Molten. Pristupljeno 5. 4. 2016.
- ^ "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Tom's Hardware. 3. 3. 2015.
- ^ "Vulkan: Scaling to multiple threads". Imagination Technologies. 24. 11. 2015. Arhivirano s originala, 26. 11. 2015. Pristupljeno 21. 11. 2019.
- ^ Kessenich, John. "An Introduction to SPIR-V" (PDF). Khronos Group. Pristupljeno 5. 3. 2015.
- ^ "Transitioning from OpenGL to Vulkan". Nvidia. Arhivirano s originala, 25. 4. 2020. Pristupljeno 21. 11. 2019.
Dalje čitanje
uredi- Vulkanski programski vodič: Službeni vodič za učenje Vulkana (OpenGL), 10. novembra 2016., Graham Sellers i John Kessenich ISBN 978-0-1344-64541
- Uvod u računarsku grafiku i Vulkan API, 1. jula 2017., autor Kenwright ISBN 978-1-5486-16175
- Vulkan Cookbook, 28. aprila 2017., autor Pawel Lapinski ISBN 978-1-7864-68154