Vulkan (API)
Logo programu | |
Autor | Khronos Group |
---|---|
Pierwsze wydanie | 16 lutego 2016 |
Aktualna wersja stabilna | 1.2 (15 stycznia 2020)[1] |
Platforma sprzętowa | biblioteka wieloplatformowa |
System operacyjny | wieloplatformowa |
Rodzaj | biblioteka programistyczna, API |
Strona internetowa |
Vulkan – niskopoziomowe, wieloplatformowe API wspomagające tworzenie grafiki 3D, opracowane przez Khronos Group[2][3].
Ten interfejs programistyczny, zwany również platformą renderującą, oparty jest na elementach AMD Mantle API. Podobnie jak OpenGL, Vulkan celuje w rynek aplikacji 3D takich jak np. gry komputerowe.
Opis API
Vulkan oferuje niższy narzut sterownika (ang. overhead), większą kontrolę nad kartą graficzną oraz niższe obciążenie procesora graficznego przy tych samych zadaniach jak jego poprzednik – OpenGL.
Cechy biblioteki:
- Vulkan API jest dopasowane do kart graficznych z segmentu „high-end”, jak również do modułów graficznych obecnych w telefonach komórkowych (OpenGL posiada specjalny podzbiór API dla telefonów komórkowych o nazwie OpenGL ES, który jest alternatywą w urządzeniach obsługujących Vulkan API).
- W przeciwieństwie do rozwiązania firmy Microsoft, czyli DirectX, Vulkan jest dostępny w wielu systemach operacyjnych; podobnie jak OpenGL, Vulkan API nie jest przypisany do pojedynczego systemu operacyjnego lub urządzenia. W dniu wydania Vulkan działał na Windows 7, Windows 8, Windows 10, Linux, Tizen, Android
- Ma obniżony narzut sterownika, czyli wymaga mniejszej mocy obliczeniowej procesora głównego do wykonania tych samych zadań obsługi wywołań funkcji.
- Zawiera lepsze skalowanie na wielordzeniowych procesorach. (Direct3D 11 i OpenGL 4 były zaprojektowane początkowo do użycia z procesorami 1-rdzeniowymi i dopiero w późniejszym czasie zostały zmodyfikowane tak, aby mogły być używane z procesorami wielordzeniowymi. Jednak nawet wtedy to dostosowane API zwykle nie skaluje się zbyt dobrze na procesorach wielordzeniowych).
- Zunifikowana obsługa kerneli obliczeniowych i graficznych shaderów; eliminuje potrzebę użycia osobnego API obliczeniowego w połączeniu z graficznym API.
OpenGL Vulkan[4] maszyna stanu z jednym globalnym stanem oparty na obiektach, bez globalnego stanu stan jest powiązany z pojedynczym kontekstem wszystkie stany są zlokalizowane w buforze komend pamięć karty graficznej i synchronizacja są zazwyczaj ukryte bezpośrednia kontrola nad pamięcią karty graficznej i synchronizacją obszerne sprawdzanie błędów sterowniki Vulkan nie wykonują sprawdzania błędów;
istnieje warstwa sprawdzająca błędy dostępna dla programistów
Oprogramowanie, które obsługuje Vulkan
Gry komputerowe
- Ashes of the Singularity: Escalation – obsługa Vulkan została dodana w sierpniu 2017
- The Talos Principle – pierwsza gra z obsługą Vulkan
- Dota 2 – obsługa Vulkan dodana w maju 2016
- Doom – obsługa Vulkan dodana w lipcu 2016
- Mad Max – w marcu 2017 twórcy dodali obsługę bibliotek w wersji gry na Linuksa
- Quake III Arena Kenny Edition – modyfikacja Quake’a III dodająca obsługę Vulkan w maju 2017
- vkDoom3 – port Dooma 3 BFG wydany w sierpniu 2017
- vkQuake – port Quake’a na platformę renderującą Vulkan wydany w lipcu 2016
- vkQuake2 – port Quake’a 2 na platformę renderującą Vulkan wydany w grudniu 2018
- Wolfenstein II: The New Colossus – obsługa Vulkan dodana w październiku 2017
- No Man’s Sky – obsługa dodana w sierpniu 2019
- Red Dead Redemption 2 – obsługa w dniu premiery gry na PC w listopadzie 2019[5]
- Tom Clancy’s Rainbow Six Siege – obsługa dodana w 2019 roku
- Transport Fever 2 - obsługa dodana w 2021 roku
- Rage 2
- Baldur's Gate 3[potrzebny przypis]
Silniki gier
- Source 2 – obsługa Vulkan dodana w maju 2016
- Serious Engine 4 – obsługa Vulkan dodana w lutym 2016
- Unreal Engine 4 – obsługa Vulkan dodana w lutym 2016
- id Tech 6 – obsługa Vulkan dodana w lipcu 2016
- Unity – obsługa Vulkan od wersji 5.6, dodana w grudniu 2016
- Xenko – obsługa Vulkan dodana w lipcu 2016
- Intrinsic – darmowy silnik 3D oparty na Vulkanie, został opublikowany na GitHubie
- Banshee 3D – darmowy silnik 3D oparty na Vulkanie
- CryEngine – obsługa Vulkan od wersji 5.4
- Flax Engine – obsługa Vulkan dodana w kwietniu 2019[6]
- Rockstar Advanced Game Engine – obsługę bibliotek dodano wraz z premierą Red Dead Redemption 2[7]
Emulatory
- Cemu – emulator Wii U
- Dolphin – emulator Wii
- RPCS3 – emulator PS3
- Xenia – emulator Xbox 360
- Yuzu – emulator Nintendo Switch
- PPSSPP - emulator PlayStation Portable
Narzędzia programistyczne
GPU PerfStudio 3.6 obsługuje Vulkan pod Windowsem i Linuksem[8].
Zobacz też
- OpenCL – API obliczeniowe opracowane przez Khronos Group
- Glide – API graficzne opracowane przez firmę 3dfx
- OpenGL – API graficzne opracowane przez Khronos Group
Przypisy
- ↑ Adrian Kotowski: Khronos Group ogłasza specyfikację Vulkana 1.2. PCLab.pl, 2020-01-15. [dostęp 2020-07-27].
- ↑ https://www.khronos.org/assets/uploads/developers/library/overview/2015_vulkan_v1_Overview.pdf
- ↑ Vulkan – Graphics and compute belong together.
- ↑ FOSDEM 2016 – Vulkan in Open-Source. fosdem.org. [dostęp 2016-02-27]. (ang.).
- ↑ Chris Jarrard: Should you choose Vulkan or DirectX 12 in Red Dead Redemption 2?. Shacknews, 2019-11-06. [dostęp 2020-05-30]. (ang.).
- ↑ Flax Facts #25 – Vulkan. flaxengine.com. [dostęp 2019-04-16]. (ang.).
- ↑ Przemysław Wańtuchowicz: Red Dead Redemption 2 – problemy techniczne na PC i rozwiązania. Eurogamer.pl, 2019-11-06. [dostęp 2020-10-19].
- ↑ https://web.archive.org/web/20170129175124/http://developer.amd.com/tools-and-sdks/graphics-development/gpu-perfstudio/gpuperfstudio-vulkan-tools/ GPUPerfStudio Vulkan Tools.
Linki zewnętrzne
- Vulkan 1.0 – specyfikacja. khronos.org. [zarchiwizowane z tego adresu (2016-07-27)].
- Vulkan Graphics API: in 20 Minutes (Coffee Break Series) Kenwright