OpenGL dla nowoczesnych maszyn: Vulkan wchodzi do gry, by powalczyć z DirectX 12

OpenGL dla nowoczesnych maszyn: Vulkan wchodzi do gry, by powalczyć z DirectX 1203.03.2015 14:35

Grupa Khronos zaprezentowała dzisiaj finalną wersję najnowszegowcielenia interfejsu OpenGL, rozwijanego dotąd pod nazwą NextGeneration OpenGL czy też GLnext. To nowe API, które otrzymało mocnąnazwę Vulkan, jest czymś znacznie więcej, niż tylko wyjściemnaprzeciw realiom współczesnych wielordzeniowych procesorów i w pełniprogramowalnych potoków renderowania w kartach graficznym. Vulkanjest pierwszym prawdziwie uniwersalnym niskopoziomowym API grafiki,mogącym rywalizować z takimi projektami jak Mantle (działające tylkona Radeonach), DirectX 12 (działające tylko na Windows) i Metal(działające tylko na iOS-ie).

Podobnie jak wspomniane wyżej API od AMD, Microsoftu i Apple,także i Vulkan jest nastawiony na wielowątkową grafikę, jednoczesnedostarczanie pakietów poleceń do GPU i oddanie większej kontroliprogramistom nad takimi zadaniami jak zarządzanie pamięcią czywątkami, obniżając w ten sposób narzut generowany przez sterownikisprzętu. Zrealizowanie tego wszystkiego w zgodzie z wytycznymistawianymi przez Grupę Khronos było jednak zadaniem znacznie bardziejambitnym – OpenGL działa na praktycznie wszystkich dostępnycharchitekturach sprzętowych, we wszystkich popularnych systemachoperacyjnych, a jego podzbiory wykorzystywane są na urządzeniachmobilnych (OpenGL ES) i przeglądarkach (WebGL).

Vulkan takich podzbiorów mieć nie będzie. To samo API będzieudostępnione zarówno na desktopach, jak i na urządzeniach mobilnych.Porzucenie tych wszystkich historycznych zaszłości OpenGL, które poprostu były zbyt ciężkie jak na sprzęt mobilny, pozwala zrezygnować zkonieczności opracowywania specjalnego dla nich wariantu.

Znacząca zmiana względem starego OpenGL zaszła także na poziomieobsługi shaderów, która teraz znacznie przybliżyła się do metodystosowanej w Direct3D. Przypomnijmy, że programy shaderów na OpenGLpisane są w podobnym do C języku GLSL i kompilowane przez kompilatorzawarty w sterowniku, podczas gdy programy shaderów na Direct3Dkompilowane są przez programistę do kodu bajtowego, przetwarzanegonastępnie przez sterownik. Vulkan wprowadza więc własny językpośredniczący dla shaderów, tzw. SPIR-V.

Nie jest to całkiem nieznane wcześniej rozwiązanie. Osobykorzystające z bibliotek OpenCL, pozwalających wykorzystać moc GPU doprzyspieszenia obliczeń, mogą kojarzyć język pośredniczący SPIR,którego wersję2.0 pokazano niedawno przy premierze OpenGL 4.5 i OpenCL 2.0..Dzięki wykorzystaniu kodu pośredniczącego nie trzeba się męczyć zhermetyczną nieco odmianą C, można programować w Javie, C++, Pythonieczy nawet JavaScripcie, a kompilator wygeneruje z niego kodpośredniczący SPIR.

SPIR-V najwyraźniej zastąpi też poprzednika, łącząc w jednoprogramowanie zadań graficznych i obliczeń. Kod pośredniczący będzieakceptowany zarówno przez Vulkana, jak i OpenCL 2.1. Oczywiściewcześniej pisane w GLSL shadery będzie można przekompilować doSPIR-V, dzięki czemu docelowo sterowniki będą musiały sobie radzićtylko z jednym językiem programowania grafiki.

Debiut Vulkana (który udostępniony został programistom jakowstępna wersja) spotkał się z ogromnym zainteresowaniem, głównie zewzględu na Valve, które już zapowiedziało, że przygotowuje silnikigier 3D bazujące na tym API nowej generacji. Swoje poparcie ogłaszająkolejni producenci GPU – przed chwilą zrobiło to np. Vivante.Wielu się jednak zastanawia, co to oznacza dla istniejących już dziśna rynku graficznych API. Odpowiedź wcale nie jest prosta.

W teorii OpenGL (obecnie w wersji 4.5) nie zniknie. NiskopoziomoweAPI, jakim jest Vulkan, w niektórych zastosowaniach może być gorszeniż tradycyjny interfejs, w którym sterownik odpowiedzialny jest zadużą część obciążenia roboczego. Długo jeszcze Grupa Khronos będziewspierała też podzbiory OpenGL – OpenGL ES i WebGL.

DirectX 12 ma znaczącą przewagę nad Vulkanem – wystartowałwcześniej, pozyskując spore zaangażowanie ze strony kluczowychproducentów sprzętu czy deweloperów silników gier. Jest przecieżnajważniejszą (a złośliwi powiedzą, że jedyną) innowacją w Windows10, systemu którego debiut ma ożywić branżę PC i otworzyć nową erędla twórców oprogramowania. DirectX 12 ma jednak pewną małą, ale zszerszej perspektywy ogromną wadę. Jest dostępny tylko na Windows 10,który nieprędko stanie się dominującym systemem desktopowym.Urządzenia mobilne z Windows 10 na rynku praktycznie nie istnieją,szczególnie wśród graczy.

Pozycja Metalu jest oczywiście nie do podważenia. iOS był, jest idługo jeszcze będzie najbardziej lukratywną platformą mobilną dlatwórców oprogramowania, a korzystanie z jego standardowego APIgrafiki jest konieczne dla każdego, kto chce zabłysnąć ze swoimigrami na sprzęcie Apple'a. Można się jednak obawiać, że przenoszeniekodu gier między iOS-em i Androidem stanie się w przyszłościtrudniejsze, gdy obie platformy skupią się na swoichniekompatybilnych ze sobą niskopoziomowych interfejsach grafiki.

Zostaje jeszcze pierwsze niskopoziomowe API, od którego w zasadziewszystko się zaczęło, czyli Mantle od AMD. Jego przyszłość obecniejest niejasna. Jeszcze w tym roku pojawią się nowe gry wspierająceMantle, w praktyce przecież to jedyne oprócz Metalu API pozwalającena taki poziom wydajności grafiki, ale chyba na tym się to wszystkoskończy. Samo AMD dało dozrozumienia społeczności deweloperów, że jeśli chcąfunkcjonalności dostępnych w Mantle 1.0, to lepiej by skupili się naDirectX 12 lub Vulkanie. „Czerwoni” obiecują oczywiściewsparcie dla partnerów, którzy zaangażowali się w projektykorzystające z tego interfejsu, ale zapowiadają zarazem, że ich APImusi zyskać nowe możliwości, stanie się platformą testową dlaRadeonów, dostępną dla wybranych partnerów o konkretnych potrzebach.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.