Jeśli lubisz śledzić najnowsze technologie, na pewno słyszałeś o Vulkan. Vulkan API to najnowsze i największe z graficznych API, ogłoszone przez Khronos Group, czyli ludzi stojących za obecnym standardem branżowym OpenGL. Nazwa projektu Vulkan została oficjalnie ogłoszona na konferencji Game Developers w 2015 roku, a pierwsza wersja API została uruchomiona w lutym 2016. Nowe API ma na celu przeniesienie grafiki gry na wyższy poziom, więc jeśli jesteś zainteresowany szczegóły, jesteśmy tutaj, aby Ci to dać.
Omawiamy, czym jest Vulkan API, czym różni się od swojego poprzednika OpenGL oraz jak Vulkan API może zmienić sposób, w jaki gry i inne aplikacje wymagające intensywnej grafiki są rozwijane w najbliższej przyszłości. Czytaj dalej, aby poznać ten ekscytujący rozwój w świecie renderowania i grafiki.
Co to jest Vulkan API?
Kilka lat temu AMD popisało się Mantle, rozwijającym się API, które było przeznaczone dla gier 3D i chociaż okazało się obiecującym rozwiązaniem do renderowania grafiki, AMD zabiło projekt. Następnie AMD przekazało Khronos Group komponenty Mantle API w celu opracowania standardowego API do renderowania. Rezultatem jest nowy Vulcan API.
Vulkan API to API renderujące o niskim narzutie, które może lepiej wykorzystywać wielordzeniowe procesory, które są obecnie wszechobecne, a także zapewni programom bardziej bezpośredni dostęp do procesora i GPU systemu. Jest również agnostykiem systemu operacyjnego. Oznacza to, że aplikacje korzystające z Vulkan API będą łatwo przenośne.
Będąc zagorzałymi graczami i entuzjastami gier, postanowiliśmy przyjrzeć się przyszłości, w jaki sposób gry będą wkrótce opracowywane i jak (jeśli w ogóle) poprawią one nasze wrażenia z gry..
funkcje
Vulkan API ma sporo funkcji, które sprawiają, że jest inny i lepszy niż jego poprzednik OpenGL:
1. Vulkan API stara się równo zrównoważyć obciążenia przetwarzania dla każdego rdzenia w środowisku wielordzeniowym. Oznacza to, że każdy rdzeń procesora jest używany maksymalizacja wydajności.
- Spowoduje to bardzo zauważalną różnicę w renderowaniu grafiki, która wymaga wielu wywołań rysowania.
- W przypadku starszych interfejsów API często procesor jest wąskim gardłem. Jednak Vulkan tak dobrze wykorzystuje wielordzeniowe procesory, że jest bardziej prawdopodobne, że zamiast tego w GPU zostanie znalezione wąskie gardło.
2. Vulcan API będzie oferować bezpośredni dostęp do GPU, co pozwoli uniknąć niepotrzebnych kosztów związanych z dostępem do GPU w celu pobrania wywołań i innych funkcji GPU.
- Oznacza to, że cięższe gry nie będą teraz obciążać procesora tak jak obecnie. Ponadto sterowniki będą odgrywać mniejszą rolę w zapewnianiu dostępu do GPU, dzięki czemu przesyłanie informacji będzie znacznie szybsze.
3. Interfejs API jest również zaprojektowany całkowicie na wielu platformach.
- Koniec z rozgałęzianiem interfejsów API dla telefonów komórkowych, komputerów stacjonarnych i konsol. Vulkan API będzie taki sam na każdym urządzeniu z kompatybilnym GPU.
4. Podczas gdy OpenGL utrzymywał użycie pamięci GPU i synchronizację w ukryciu, Vulkan ujawnia to i zapewnia programistom jeszcze lepsze kontrolę nad GPU i jak jest używany.
- Vulkan pozwala programistom kontrolować sposób, w jaki GPU formatuje tekstury, zarządza pamięcią i przeprowadza synchronizację.
- Jednak nadal ukrywa wystarczająco dużo informacji, aby je zachować kompatybilność między platformami.
5. Vulkan używa Język pośredni SPIR-V do obliczeń równoległych 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 wykorzystuje LLVM. SPIR-V pozwala Vulkan mieć wspólny kompilator front-end na każdej platformie. Programiści nie muszą również dostarczać jądra, kodu modułu cieniującego, a implementacja sterownika jest uproszczona.
Jak Vulkan może pomóc nam jako użytkownikom końcowym
Vulkan API, gdy zostanie wdrożony w pełni przez programistów, może drastycznie poprawić wrażenia z gry użytkownika końcowego (to ty i ja!). Myśleć grafika na poziomie konsoli na urządzeniach mobilnych, może nawet grafika komputerowa dla flagowych flagowców z wyższej półki z kompetentnymi procesorami!
1. Ponieważ większość mobilnych SoC w dzisiejszych czasach jest również wielordzeniowych, Vulkan to zrobi maksymalnie wykorzystać procesory możliwe, dzięki czemu gry są płynniejsze (wyższy FPS).
2. Ponadto, ponieważ Vulkan zapewnia niski koszt dostępu do GPU urządzenia, oznacza to, że gry będą teraz mogły 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ę maksymalne wykorzystanie możliwości GPU.
3. Chociaż funkcje wieloplatformowe, ułatwiające przenoszenie gier, mogą nie mieć bezpośredniego wpływu na Ciebie jako użytkownika końcowego, oznacza to, że Twoja ulubiona gry i aplikacje intensywnie korzystające z grafiki mogą być dostępne na prawie każdej platformie tam. Możliwości są nieograniczone i ograniczone tylko naszą wyobraźnią.
4. Gry też będą w stanie zapewnić płynniejsza wydajność upewniając się, że GPU zwraca większą uwagę (czytaj: przydziela więcej pamięci i daje pierwszeństwo) rzeczom, które są natychmiast widoczne dla użytkownika, dzięki czemu gra jest bardziej odporna na opóźnienia i spadki klatek.
Opcje dla programistów
Chociaż niskopoziomowe API dla grafiki to niewątpliwie dobry pomysł, nie jest oczywistą atrakcją dla każdego programisty, zwłaszcza dla nowych. Programowanie na niższym, bliższym poziomie sprzętowym wymaga nieco większej sprawności niż programowanie na wyższym poziomie, który jest bardziej abstrakcyjny. W żaden sposób nie jest to szokujące. Jest to dość oczywiste i właśnie dlatego programiści będą mieli trzy różne opcje korzystania z Vulkan w swoich projektach programistycznych.
1. Użyj bezpośrednio API Vulkan
- Zapewni to najniższy poziom dostępu do sprzętu i oczywiście nie będzie to wybór dla każdego. Jednak poziom ten można wykorzystać do tworzenia narzędzi benchmarkingowych dla innych aplikacji opracowanych przy użyciu Vulkan.
2. Korzystaj z bibliotek
- Prawdopodobnie najbardziej opłacalna opcja dla programistów, którzy przechodzą z OpenGL na Vulkan.
- Większość bibliotek będzie typu open source, więc programiści, którzy mają doświadczenie w programowaniu przy użyciu OpenGL, mogą stosunkowo łatwo spróbować przenieść swoje aplikacje OpenGL do API Vulkan, zamiast przeprowadzać całkowitą przebudowę lub zaczynać od zera.
3. Użyj silników gier zoptymalizowanych za pomocą Vulkan
- Jesteśmy pewni, że to właśnie w tym miejscu znajdzie się większość deweloperów. Silniki gier są projektowane i rozwijane przez uznanych, doświadczonych zawodowców w branży i mogą być z łatwością używane przez deweloperów (zarówno doświadczonych, jak i początkujących) do tworzenia gier wykorzystujących te zalety. oferowane przez Vulkan API.
- Deweloperzy, tacy jak Epic Games (Unreal Engine) i Unity (Unity Engine), już ogłosili obsługę Vulkan w swoich nadchodzących silnikach, a wielu innych ogłosiło plany dotyczące ich realizacji.
ZOBACZ TEŻ: Zrozumieć APFS: nowy system plików firmy Apple
Podekscytować się!
Na wypadek, gdyby artykuł Cię nie przekonał… podekscytuj się! Teraz! Vulkan zapowiada się na przełomowy rozwój w graficznych interfejsach API, który 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ą wskazówką, przygotuj się na niesamowitą jakość grafiki wszędzie, w tym na telefonach komórkowych, a wszystko to dzięki pojawieniu się Vulcan API!
Więc co myślisz o Vulkan? Czy myślisz, że będzie to duża poprawa w stosunku do obecnego standardu OpenGL? Daj nam znać w sekcji komentarzy poniżej.