Vulkan (API)

Ten artykuł od 2020-01 zawiera treści, przy których brakuje odnośników do źródeł.
Należy dodać przypisy do treści niemających odnośników do źródeł. Dodanie listy źródeł bibliograficznych jest problematyczne, ponieważ nie wiadomo, które treści one uźródławiają.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.
Vulkan
Logo Vulkan
Logo programu
ilustracja
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
Multimedia w Wikimedia Commons
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 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

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 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

Narzędzia programistyczne

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

Zobacz też

Przypisy

  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. fosdem.org. [dostęp 2016-02-27]. (ang.).
  5. Chris Jarrard: Should you choose Vulkan or DirectX 12 in Red Dead Redemption 2?. Shacknews, 2019-11-06. [dostęp 2020-05-30]. (ang.).
  6. Flax Facts #25 – Vulkan. flaxengine.com. [dostęp 2019-04-16]. (ang.).
  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. 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