Vulkan (API)

niskopoziomowe API

Vulkan – niskopoziomowe, wieloplatformowe API wspomagające tworzenie grafiki 3D, opracowane przez Khronos Group[2][3].

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

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 APIEdytuj

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 VulkanEdytuj

Gry komputeroweEdytuj

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

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

EmulatoryEdytuj

Narzędzia programistyczneEdytuj

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

Zobacz teżEdytuj

PrzypisyEdytuj

Linki zewnętrzneEdytuj