3… 2… 1… Vulkan!

Niechęć Gabe Newella do Microsoftu i Windowsa 8.1/10 wydała kolejny plon, gdyż w dniu wczorajszym Khronos udostępnił światu specyfikację API o wdzięcznej nazwie Vulkan (2). Jest to pokłosie zamieszania jakie rozpoczęła ewolucja desktopowego standardu i wiodącego systemu naszych czasów. Choć nikt nie mówi o tym głośno, to dla deweloperów i producentów gier nadchodzą trudne czasy, w których chcąc dotrzeć do użytkownika ze swoją ofertą będą musieli iść na szeroko rozumianą współpracę z Microsoftem. Jedynie Valve i ich sklep Steam mieli taką siłę przebicia, że Newell mógł otwarcie przeciwstawić się temu co nieuchronne i wypromować nową  platformę dla graczy – SteamOS (a w domyśle Linux).

Pierwszym krokiem do pokonania biernej niemocy wobec hegemonii Windowsa było przełamanie bariery mentalnego negowania Linuksa jako platformy do gier. To krzywdzące uogólnienie spowodowało, że deweloperzy przez długi czas nie brali tego systemu pod uwagę w swoich planach. Do czasu rewolucji jaką rozpoczął sklep Steam, komercyjne tytuły dla Linuksa można było policzyć na palcach dwóch dłoni. No może trzech. Obecnie (02.2016) w ofercie wspomnianego sklepu znajduje się około 1850 gier dla naszego systemu. Jednak przy okazji tak masowego powstawania i portowania gier dla Linuksa / SteamOS, pojawił się problem jakości sterowników graficznych oraz czasochłonnego dostosowywania gier do działa pod Linuksem. Było i jest to spowodowane rynkowym „standardem”, czyli Windowsem i jego DirectXem – którego oczywiście nie uświadczymy w wersji dla Linuksa. Dlatego cały kod odpowiedzialny za generowanie grafiki musi być przenoszony w realia OpenGL. Wychodzi to różnie i nadal nie jest rozwiązaniem w pełni multiplatformowym. To właśnie z tego powodu 18 miesięcy temu rynkowi giganci rozpoczęli prace nad zdefiniowaniem i stworzeniem nowego API, bardziej używalnego w porównaniu do OpenGLa.

Jak słusznie co poniektórzy już zauważyli, tym API jest Vulkan. Koncepcja przyświecająca powołaniu go do życia była taka, aby to sterowniki zezwoliły Vulkanowi działać na niskopoziomowym dostępie do sprzętu, co miało przełożyć się na niesamowitą wydajność oraz totalną multiplatformowość. Udział w projektowaniu tego rozwiązania wzięli oczywiście AMD, Nvidia, Intel, Valve, Khronos i inni zainteresowani wygodnym wydawaniem gier w przyszłości. Vulkan jest w pełni otwartoźródłowy, zadziała zarówno na platformach mobilnych i stacjonarnych (posiadających sprzęt zgodnych z OpenGL ES 3.1 oraz OpenGL 4.X i wyżej). Główni gracze na rynku kart graficznych nie zaspali i zapowiadają współpracę swoich sterowników z Vulkanem. Wszystko czego teraz potrzebuje, to odpowiednie wejście na rynek. Innymi słowy, muszą powstać konkretne gry AAA wykorzystujące nowe API. Nie można uniknąć jednak nawiązania do Mantle, na którym z pewnością wzorowali się twórcy Vulkana. Mantle API jest jednak zamknięte i póki co – nie zdobyło serc deweloperów.

Oczywiście lista zalet nowego API jest o wiele dłuższa. Niskopoziomowy dostęp do sprzętu umożliwia jego pełniejsze wykorzystanie – w tym konkretniejszą współpracę z wielowątkowymi procesorami i potokami kart graficznych. Do tego dochodzi wiele, wiele innych mniej lub bardziej marketingowych haseł.

https://www.youtube.com/watch?v=GzcTUG8RT-M

Tak czy owak, wygląda to ciekawie i bardzo przyszłościowo.