Jeśli lubisz trzymać kartę z najnowszymi technologiami, musisz być świadomy Vulkan. API Vulkan to najnowszy i największy z interfejsów graficznych API, ogłoszonych przez Khronos Group, które są osobami stojącymi za standardem OpenGL. Nazwa projektu Vulkan została oficjalnie ogłoszona na konferencji Game Developers 'Conference w 2015 r., A pierwsza wersja API została uruchomiona w lutym 2016 r. Nowy interfejs API ma na celu przeniesienie grafiki gier na wyższy poziom, więc jeśli jesteś zainteresowany szczegóły, jesteśmy tutaj, aby dać ci to.
Omawiamy, czym jest Vulkan API, czym różni się od jego poprzednika OpenGL i jak Vulkan API może zmienić sposób, w jaki gry i inne aplikacje intensywnie wykorzystujące grafikę są opracowywane w niedalekiej przyszłości. Czytaj dalej, aby dowiedzieć się więcej o tym ekscytującym rozwoju w świecie renderowania i grafiki.
Co to jest Vulkan API?
Kilka lat temu AMD pokazał Mantle, wykorzystując API, które było przeznaczone dla gier 3D, i chociaż okazało się obiecującym rozwiązaniem, ponieważ jest ono lepszym rozwiązaniem do renderowania grafiki, AMD zabiło projektu. Następnie AMD przekazało komponenty API Mantle do Khronos Group w celu opracowania standardowego interfejsu API do renderowania. Rezultatem jest nowy Vulcan API.
API Vulkan to interfejs API renderowania o niskim napowietrznym, który może lepiej wykorzystywać wielordzeniowe procesory, które są obecnie wszechobecne, a także zapewnia programom bardziej bezpośredni dostęp do procesora i GPU systemu. Jest także agnostykiem systemu operacyjnego. Oznacza to, że aplikacje korzystające z Vulkan API będą łatwo przenośne.
Będąc zapalonymi graczami i entuzjastami gier, postanowiliśmy przyjrzeć się przyszłości, w której gry będą wkrótce rozwijane i jak (jeśli w ogóle) poprawią nasze wrażenia z gry.
funkcje
API Vulkan ma wiele funkcji, które sprawiają, że jest inny i lepszy niż jego poprzednik OpenGL:
1. Vulkan API stara się równoważyć obciążenia procesowe pomiędzy wszystkimi rdzeniami w środowisku wielordzeniowym. Oznacza to, że każdy rdzeń procesora jest wykorzystywany, co maksymalizuje wydajność .
- Będzie to bardzo zauważalna różnica w renderowaniu grafiki wymagającej dużej liczby wywołań rysowania.
- W przypadku starszych interfejsów API, częściej niż nie, procesor jest wąskim gardłem. Jednak Vulkan wykorzystuje wielordzeniowe procesory do tak dobrego wykorzystania, że bardziej prawdopodobne jest, że w GPU pojawi się wąskie gardło.
2. Vulcan API zapewni bezpośredni dostęp do GPU, co pozwoli uniknąć niepotrzebnych kosztów ogólnych związanych z uzyskiwaniem dostępu do GPU w przypadku wywołań remisowych i innych urządzeń GPU.
- Oznacza to, że cięższe gry nie będą teraz tak intensywne jak obecnie. Ponadto kierowcy będą odgrywać mniejszą rolę w zapewnianiu dostępu do GPU, co znacznie przyspieszy transfer informacji.
3. Interfejs API został zaprojektowany tak, aby był całkowicie krzyżowy .
- Koniec z rozgałęzianiem się interfejsów API dla telefonów komórkowych, komputerów stacjonarnych i konsol. API Vulkan będzie takie samo na każdym urządzeniu z kompatybilnym GPU.
4. Podczas gdy OpenGL utrzymywał użycie pamięci GPU i synchronizację ukrytą, Vulkan udostępnia to i daje programistom jeszcze lepszą kontrolę nad GPU i sposobem jego użycia.
- Vulkan pozwala programistom kontrolować, w jaki sposób GPU formatuje tekstury, zarządza pamięcią i wykonuje synchronizację.
- Jednak wciąż ukrywa wystarczającą ilość informacji, aby utrzymać kompatybilność między platformami .
5. Vulkan wykorzystuje język pośredni SPIR-V do przetwarzania równoległego i grafiki. SPIR-V, podobnie jak jego poprzednicy, SPIR1.2 i SPIR2.0, został opracowany przez grupę Khronos, z tą różnicą, że SPIR-V nie używa LLVM. SPIR-V pozwala Vulkanowi mieć wspólny kompilator front-end na każdej platformie. Programiści nie muszą również wysyłać jądra, kodu shadera, a implementacja sterownika jest uproszczona.
Jak Vulkan może nam pomóc jako użytkownicy końcowi
Interfejs Vulkan API, gdy zostanie w pełni wykorzystany przez programistów, może znacznie poprawić wrażenia użytkownika końcowego (to ty i ja!). Myśl o grafice konsolowej na urządzeniach mobilnych, a może nawet o grafice komputerowej dla najlepszych flagowców z kompetentnymi procesorami!
1. Ponieważ większość mobilnych SoCów jest obecnie wielordzeniowych, Vulkan będzie wykorzystywał procesory w maksymalnym możliwym stopniu, czyniąc gry płynniejszymi (wyższy FPS).
2. Ponadto, ponieważ Vulkan zapewnia nisko obciążony dostęp do GPU urządzenia, oznacza to, że gry będą teraz w stanie znacznie skrócić czas potrzebny na uzyskanie dostępu do zasobów GPU. Po raz kolejny przekłada się to na lepszą grafikę przy wyższych klatkach na sekundę dzięki maksymalnemu wykorzystaniu możliwości procesora graficznego .
3. Podczas gdy funkcje na wielu platformach, ułatwiające przenoszenie gier, mogą nie mieć bezpośredniego wpływu na użytkownika końcowego, oznacza to, że ulubione gry i aplikacje intensywnie wykorzystujące grafikę mogą być dostępne na niemal każdej platformie . Możliwości są nieskończone i ograniczone jedynie przez naszą wyobraźnię.
4. Gry będą również w stanie zapewnić płynniejszą wydajność, zapewniając, że procesor graficzny poświęci więcej uwagi (czytaj: przydziela więcej pamięci i daje pierwszeństwo) na rzeczy, które są natychmiast widoczne dla użytkownika, czyniąc grę bardziej odporną na opóźnienia i spadki klatek .
Opcje dla programistów
Podczas gdy niewysokie dobry pomysł ma niskoprofilowy API dla grafiki, nie jest to oczywistą atrakcją dla każdego programisty, zwłaszcza dla nowych. Programowanie na niższym, bliższym poziomie sprzętu wymaga nieco więcej sprawności niż programowanie na wyższym poziomie, który jest bardziej abstrakcyjny. To w żaden sposób nie jest szokujące. Jest to dość oczywiste i właśnie dlatego programiści będą mieli trzy różne opcje wykorzystania Vulkan do swoich projektów deweloperskich.
1. Użyj Vulkan API bezpośrednio
- Zapewni to najniższy poziom dostępu do sprzętu i oczywiście nie będzie wyborem dla wszystkich. Poziom ten można jednak wykorzystać do tworzenia narzędzi do benchmarkingu dla innych aplikacji opracowanych przy użyciu Vulkan.
2. Użyj bibliotek
- Prawdopodobnie najbardziej realną opcją dla programistów przechodzących z OpenGL do Vulkan.
- Większość bibliotek ma otwarte oprogramowanie źródłowe, więc programiści, którzy mają doświadczenie w projektowaniu za pomocą OpenGL, mogą stosunkowo łatwo wykonywać portowanie swoich aplikacji OpenGL na Vulkan API, zamiast dokonywać gruntownych zmian lub zaczynać od zera.
3. Korzystaj z silników gier zoptymalizowanych za pomocą Vulkan
- Jesteśmy pewni, że to właśnie tam dotrze większość deweloperów. Silniki gier są zaprojektowane i opracowane przez doświadczonych, doświadczonych graczy z branży przemysłowej i mogą być z łatwością używane przez programistów (zarówno doświadczonych, jak i początkujących) do tworzenia gier wykorzystujących zalety. oferowane przez Vulkan API.
- Deweloperzy, tacy jak Epic Games (Unreal Engine) i Unity (Unity Engine), zapowiedzieli już wsparcie dla Vulkan w swoich przyszłych silnikach, a wiele innych ogłosiło plany na przyszłość.
ZOBACZ TAKŻE: Zrozumienie APFS: Nowy system plików od Apple
Podekscytować się!
Na wypadek, gdyby artykuł cię nie przekonał ... podnieście się! Teraz! Vulkan zapowiada się na przełomowy rozwój interfejsów graficznych API, które poprawią nasze życie w grach. Istnieją już filmy porównujące wydajność Vulkan i OpenGL, a wyniki są - po prostu - niesamowite. Jeśli te filmy są jakimkolwiek wskazaniem, przygotuj się na niesamowitą jakość grafiki wszędzie, w tym na telefonach komórkowych, a wszystko to dzięki pojawieniu się Vulcan API!
Co myślisz o Vulkan? Czy uważasz, że będzie to znaczące ulepszenie w stosunku do obecnego standardu OpenGL? Daj nam znać w sekcji komentarzy poniżej.