NVIDIA wierzy w Vulkana. Dla Zielonych może być on ważniejszy od DirectX 12

NVIDIA wierzy w Vulkana. Dla Zielonych może być on ważniejszy od DirectX 12

NVIDIA wierzy w Vulkana. Dla Zielonych może być on ważniejszy od DirectX 12
03.09.2015 12:38, aktualizacja: 03.09.2015 12:48

Niedopasowanie architektury graficznej Maxwell Nvidii dointerfejsu grafiki DirectX 12 wzbudziło sporo kontrowersji. Wszystkowskazuje na to, że mechanizm asynchronicznych shaderów na sprzęciezielonych nie może być tak wydajny, jak na architekturze GCN firmyAMD, bez względu na optymalizacje sterowników. A jak będziewyglądała kwestia z głównym konkurentem DirectX 12, otwartym iwolnym API Vulkan, rozwijanym przez branżowe stowarzyszenie Khronos?Bez większego echa dotąd przeszło wystąpienie Piersa Daniella nategorocznej konferencji SIGGRAPH, podczas którego przedstawił onpodejście Nvidii właśnie do Vulkana. Wiele wskazuje na to, że towłaśnie Vulkan, a nie DirectX 12 będzie dla zielonych odgrywałgłówną rolę w ich strategii.

Daniell przypomniał, że Vulkan jest jedynym wieloplatformowyminterfejsem grafiki, który działa nie tylko na Windows 10, ale teżna poprzednich wersjach „okienek”, oraz na Linuksie, SteamOS-ie iAndroidzie. Stoją za nim wszyscy liczący się producenci GPU, nietylko desktopowych, ale i mobilnych, a także wielu producentówoprogramowania, na czele z Valve, Unity, EA, Oxide, Epic Games, RedHatem, Canonicalem, i VMware. Nic w tym dziwnego – od samegopoczątku Vulkan projektowany był z myślą o łatwym rozszerzaniu,tak by sami producenci mogli sobie definiować zbiory obsługiwanychfunkcji.

Za wcześnie jeszcze, by porównywać ze sobą Vulkana i DX 12,finalna specyfikacja tego pierwszego ma zostać przedstawiona przezgrupę Khronos dopiero pod koniec tego roku, ale już można sądzić,że pod względem architektury oba API nie będą od siebie odmienne.Podobnie rozwiązywanajest kwestia wiązania zasobów z shaderami, podobnie realizowanyniskopoziomowy dostęp do pamięci czy ograniczenie narzutu na CPUczy dynamicznego modyfikowania stanu obiektów w potoku renderowania.

Vulkan jednak, przynajmniej w teorii, może więcej. Lepiej sobieradzi z renderowaniem kafelkowym, dobrze znanym ze starych konsol(szczególnie tych na grafice PowerVR), a dziś wracającym do nas wmobilnych GPU. Mechanizm przekazywania renderingu (renderpass)pozwala zdefiniować, jak cele renderowania powinny być ładowane dopamięci i z pamięci na początku renderowania każdej sceny.Imagination Technologies, które stoi za tym pomysłem podkreśla, żedzięki temu można uniknąć kosztownego oczyszczania buforów zinnych graficznych API. Tak samo łatwo jest przez Vulkana rozdzielaćdane pomiędzy wieloma GPU

Co ciekawe, Vulkan przejmuje też rozwiązania znane zwcześniejszych wersji DirectX. Do tej pory w sterownikach OpenGLznajdował się kompilator shaderów, parsujący wysokopoziomowy kodw języku GLSL. W Vulkanie ten kod GLSL jest wpierw kompilowany dokodu pośredniczącego, tak jak to jest w API Microsoftu.

Czemu jednak Vulkan ma takie znaczenie dla Nvidii? Zieloniprzyznają, że chodzi przede wszystkim o otwartość. Dziękirozszerzalności tego API, mogą łatwo wprowadzać nowe funkcjeswoich GPU. Vulkan jest także daleko bardziej skalowalny niżrozwiązania konkurencyjne, będzie działał zarówno naenergooszczędnych urządzeniach mobilnych (z Tegrą K1), jak i napotężnych stacjach roboczych (GTX Titan X). NVIDIA podkreślajednak jeszcze jedno – atutem Vulkana jest jego możliwośćskalowania się na wiele wątków procesora, tak że może byćwykorzystany niemal bez blokowania dostępu do obiektówwykorzystywanych w innym wątku, zapewniając maksymalną wydajnośćw kluczowych operacjach.

Zieloni przedstawili też swoje sterowniki dla Vulkana. Są onepóki co dostępne tylko dla członków grupy Khronos, po podpisaniuNDA. Wiadomo już, że będą one częścią jednego sterownika, wrazze sterownikiem OpenGL. Dla aplikacji wykorzystującej Vulkana częśćOpenGL będzie całkowicie obojętna – sterownik udostępniapotrzebne jej API, z bezpośrednim dostępem do GPU dla zadańwymagających najwyższej wydajności oraz narzędzia do zarządzaniazasobami i procesorem graficznym. NVIDIA przewiduje jednak teżsytuacje, w których aplikacja będzie wykorzystywała zarównoOpenGL jak i Vulkana jednocześnie (tak może być najczęściej woprogramowaniu typu CAD). Wtedy to ścieżki do sprzętu obu APIpozostają oddzielne, ale mogą one między sobą wymieniać zasoby.

W tej sytuacji widać, że dla samej Nvidii, przymierzającej siędo wejścia na rynek konsol do gier ze swoim urządzeniem SHIELD nabazie procesora Tegra X1, upowszechnienie się Vulkana ma dalekowiększe znaczenie, niż Direct X12. Jeśli ta firma, mającaprzecież ogromny wpływ na rynek gier zacznie sugerować studiomwydawniczym, że Vulkan jest drogą, którą należy podążać,pokazując dobrze zoptymalizowane sterowniki nie tylko na Windows,ale też na Androida i SteamOS-a, wybór będzie prosty.Przeniesienie swoich tytułów z Windows (i to nie tylko Windows 10)na konsole androidowe czy komputery działające pod kontroląlinuksowego SteamOS-a będzie znacznie tańsze, a potencjalny rynekznacznie większy.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (91)