Vulkan (API)

Vulkan
Logo Vulkan
Logo programu
ilustracja
AutorKhronos Group
Pierwsze wydanie16 lutego 2016
Aktualna wersja stabilna1.2 (15 stycznia 2020)[1]
Platforma sprzętowabiblioteka wieloplatformowa
System operacyjnywieloplatformowa
Rodzajbiblioteka 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

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.
OpenGLVulkan[4]
maszyna stanu z jednym globalnym stanemoparty na obiektach, bez globalnego stanu
stan jest powiązany z pojedynczym kontekstemwszystkie stany są zlokalizowane w buforze komend
pamięć karty graficznej i synchronizacja są zazwyczaj ukrytebezpośrednia kontrola nad pamięcią karty graficznej i synchronizacją
obszerne sprawdzanie błędówsterowniki 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

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

Linki zewnętrzne

Media użyte na tej stronie

REF new (questionmark).svg
Autor: Sławobóg, Licencja: LGPL
Icon for missing references
Vulkaninfo with vkcube screenshot.png
Autor:

Software: KDE, Khronos Group, and LunarG

Screenshot:

VulcanSphere, Licencja: Apache License 2.0
Screenshot of vulkaninfo and vkcube, both programs are included as Vulkan tools
Vulkan API logo.svg
Logo of Vulkan API