Vulkan (API)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Vulkan
Logo Vulkan
Logo programu
Autor Khronos Group
Platforma sprzętowa Wieloplatformowość
System operacyjny Wieloplatformowość
Pierwsze wydanie 2016-02-1616 lutego 2016
Aktualna wersja stabilna 1.1 (7 marca 2018; 7 miesięcy temu)
Rodzaj Biblioteka programistyczna / API
Strona internetowa

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

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.

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

Największymi zaletami Vulkan API są:

  • 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, GNU/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.
  • Posiada 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[3]
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 developeró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 r.
  • Doom – obsługa Vulkan dodana w lipcu 2016 r.
  • Mad Max – w marcu 2017, developerzy dodali beta obsługę Vulkan, wyłacznie na platformę Linux.
  • Quake III Arena Kenny Edition – modyfikacja Quake 3 dodająca obsługę Vulkan w maju 2017 r.
  • vkDoom3 - a Vulkan port Doom3 BFG wydany w sierpniu 2017.
  • vkQuake – port Quake na platformę renderującą Vulkan wydany w lipcu 2016 r.
  • Wolfenstein II: The New Colossus – obsługa Vulcan dodana w październiku 2017 r.

Silniki gier[edytuj | edytuj kod]

  • Source 2 – obsługa Vulkan dodana w maju 2016 r.
  • Serious Engine 4 – obsługa Vulkan dodana w lutym 2016 r.
  • Unreal Engine 4 – obsługa Vulkan dodana w lutym 2016 r.
  • id Tech 6 – obsługa Vulkan dodana w lipcu 2016 r.
  • Unity – obsługa Vulkan od wersji 5.6, dodana w grudniu 2016 r.
  • Xenko – obsługa Vulkan dodana w lipcu 2016 r.
  • Intrinsic – darmowy silnik 3D oparty o Vulkan, został opublikowany na GitHub.
  • Banshee 3D – darmowy silnik 3D oparty o Vulkan.
  • CryEngine – obsługa Vulkan od wersji 5.4.

Emulatory[edytuj | edytuj kod]

Narzędzia developerskie[edytuj | edytuj kod]

GPU PerfStudio 3.6 obsługuje Vulkan pod Windowsem i GNU/Linuksem[4].

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]