r   e   k   l   a   m   a
r   e   k   l   a   m   a

Więcej standardów: nowe API 3D połączy DirectX 12, Vulkana i Metal

Strona główna AktualnościOPROGRAMOWANIE

Narobiło się w ostatnich latach tych nowych niskopoziomowych interfejsów programowania grafiki – i twórcy gier, a przede wszystkim silników gier, nie mają łatwego życia. W ślad za pionierskim (i dziś już zapomnianym) Mantle przyszedł nie jeden, lecz trzy standardy: bezpośrednio wywiedziony z Mantle Vulkan, DirectX 12 oraz Metal. Z tego zbioru dwa API standardami są tylko ze względu na pozycję ich producentów na rynku. Twórcy wieloplatformowego Vulkana, The Khronos Group, chcą pomóc w ucieczce od własnościowych rozwiązań Microsoftu i Apple’a. Zapowiadają coś zaskakująco uniwersalnego, zarazem każąc zadać nam pytanie – o co chodzi z tym Vulkanem?

Do multiplatformowości Vulkanowi troszkę jeszcze brakuje, ale i tak nie ma w tej dziedzinie równych. Działa na Androidzie 7.0 i nowszych, Windowsie 7 i nowszych, Linuksie z nowymi sterownikami grafiki AMD, Intela i Nvidii, wspierany jest przez liczne architektury sprzętowe, mobilne i desktopowe. Właściwie nie ma go tylko na platformie Apple, ponieważ firma z Cupertino musiała wymyślić swój „standard”. Zapewne pozazdrościła kolegom z Redmond, którzy przyjęli koncepcyjne założenia Mantle, ale zamiast przyłączyć się do prac nad standardem branżowym, musieli oczywiście tworzyć niekompatybilne z innymi systemami DirectX 12.

Tej fragmentacji (tak, wiemy, to okropne słowo) Grupa Khronos chce zaradzić stworzeniem nowego meta-interfejsu grafiki, który działałby jako nakładka na Vulkana, Metal i DirectX 12. Miałby on działać z wydajnością bliską natywnej i ułatwiać ogarnięcie różnic w zakresach możliwości poszczególnych interfejsów. Jak to zrobić? No cóż, podejście jest dość toporne, dosłownie toporne. Nowe meta-API będzie obejmowało jedynie część wspólną możliwości wszystkich trzech interfejsów, porzuci przy tym specyficzne optymalizacje wydajnościowe.

r   e   k   l   a   m   a

Po co jednak twórcy Vulkana chcą uszczęśliwić nas kolejnym, nie dość wydajnym interfejsem grafiki, który będzie ograniczony w możliwościach względem wszystkich niskopoziomowych API? Czy tylko po to, by w jakiś sposób coś z Vulkana przemycić na iOS-a? Wydaje się, że jedynym sensownym zastosowaniem będą tu gry przeglądarkowe, dziś ograniczone do możliwości WebGL 2.0, czyli podzbioru OpenGL ES 3.0. To wysokopoziomowy interfejs, ze sporym narzutem sterowników. Żaden z trzech obecnych dziś na rynku interfejsów niskopoziomowych nie nadaje się jednak do przeglądarek. Chyba nikt nie chce przecież, by przeglądarka miała tak bezpośredni dostęp do sprzętu. Nikt też nie chce zmagać się w aplikacjach webowych z niekompatybilnością tych API.

Propozycja The Khronos Group nie była tu jednak pierwsza. W lutym Apple zaproponowało swoje nowe API graficzne dla przeglądarek, o nazwie WebGPU. Ma to być standard grafiki 3D następnej generacji, rozwijany w ramach W3C, działający jako nakładka na… Vulkana, Metal i DirectX12. Świetnie. Więcej niekompatybilnych standardów – właśnie tego potrzebujemy.

W tym kontekście zagranie The Khronos Group może być po prostu manewrem bardziej politycznym niż technicznym. To konsorcjum jest ogromną potęgą świata grafiki, wśród swoich członków mając AMD, Nvidię, Intela, ARM Holdings, Imagination Technologies, Qualcomma, Sony, Samsunga, Huawei, Google i… Apple. Bez poparcia The Khronos Group, firma z Cupertino nie ma jednak żadnych szans na wypromowanie swojego WebGPU. Jeśli zaś The Khronos Group przeforsuje swoje własne meta-API, Apple będzie musiało chcąc czy nie chcąc wprowadzić je do WebKitu i przeglądarki Safari. Internet to bowiem nie App Store, tu Apple musi się liczyć z realnymi standardami – w przeciwnym wypadku użytkownicy jego wcale nie tak popularnych systemów zostaną pozbawieni dostępu do niektórych treści.

Można więc sobie wyobrazić scenariusz, w którym The Khronos Group przehandluje swoje poparcie dla apple’owego WebGPU, w zamian za otwarcie iOS-a i macOS-a na Vulkana. Wówczas Metal straciłby znaczenie, pozostałby może przez kilka lat niszowym API, by z czasem zostać zapomnianym. Na rynku pozostałyby dwa niskopoziomowe interfejsy grafiki, tj. Vulkan dla wszystkich i DirectX 12 dla systemów z getta Microsoftu. Taki obrót sprawy byłby chyba najlepszym z możliwych, bo raczej trudno sobie wyobrazić, by w Redmond kiedykolwiek mogli zrezygnować z własnych, niestandardowych API grafiki.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.