Vulkan (API)
Wygląd
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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]Gry komputerowe
[edytuj | edytuj kod]- 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
[edytuj | edytuj kod]- 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
[edytuj | edytuj kod]- 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
[edytuj | edytuj kod]GPU PerfStudio 3.6 obsługuje Vulkan pod Windowsem i Linuksem[8].
Zobacz też
[edytuj | edytuj kod]- OpenCL – API obliczeniowe opracowane przez Khronos Group
- Glide – API graficzne opracowane przez firmę 3dfx
- OpenGL – API graficzne opracowane przez Khronos Group
Przypisy
[edytuj | edytuj kod]- ↑ 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
[edytuj | edytuj kod]- Vulkan 1.0 – specyfikacja. khronos.org. [zarchiwizowane z tego adresu (2016-07-27)].
- Vulkan Graphics API: in 20 Minutes (Coffee Break Series) Kenwright