Vulkan (API)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Vulkan
Logo Vulkan
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 wysokowydajnych 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 niż 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

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 o Vulkan, został opublikowany na GitHubie
  • Banshee 3D – darmowy silnik 3D oparty o Vulkan
  • 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]

Narzędzia programistyczne[edytuj | edytuj kod]

GPU PerfStudio 3.6 obsługuje Vulkan pod Windowsem i Linuksem[8].

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Adrian Kotowski: Khronos Group ogłasza specyfikację Vulkana 1.2. PCLab.pl, 2020-01-15. [dostęp 2020-07-27].
  2. https://www.khronos.org/assets/uploads/developers/library/overview/2015_vulkan_v1_Overview.pdf
  3. Vulkan – Graphics and compute belong together.
  4. FOSDEM 2016 – Vulkan in Open-Source (ang.). fosdem.org. [dostęp 2016-02-27].
  5. Chris Jarrard: Should you choose Vulkan or DirectX 12 in Red Dead Redemption 2? (ang.). Shacknews, 2019-11-06. [dostęp 2020-05-30].
  6. Flax Facts #25 – Vulkan (ang.). flaxengine.com. [dostęp 2019-04-16].
  7. 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].
  8. http://developer.amd.com/tools-and-sdks/graphics-development/gpu-perfstudio/gpuperfstudio-vulkan-tools/ GPUPerfStudio Vulkan Tools.

Linki zewnętrzne[edytuj | edytuj kod]