Jedna dlouhá éra končí, Vulkan nahradí stárnoucí OpenGL

  • Konsorcium Khronos dokončilo slibované API Vulkan, které má nahradil OpenGL
  • Dostupné bude na rozdíl od DirectX 12 na většině platforem
  • Otestovat jej můžete v první hře

Průmyslové konsorcium Khronos vydalo tento týden finální verzi nízkoúrovňového API Vulkan 1.0, které postupně bude nahrazovat OpenGL vyvíjené stejnou skupinou. Vulkan vývojářům přinese, stejně jako DirectX 12, několik zásadních novinek. Na rozdíl od DirectX je však nové API multiplatformní a nebude se omezovat pouze na Windows 10.

Vulkan budou moci použít vývojáři softwaru a především her pro Windows 7 a novější, linuxové OS a stejně tak pro Android. Stranou zůstal pouze Apple, který bude navzdory prvotnímu zájmu o vývoj Vulkanu tlačit svoje low-level API Metal.

obrázek 073.jpg
Do konsorcia Khronos se více či méně angažuje většina velkcýh technologických společností včetně herních vývojářů

Vulkan zamířil mezi vývojáře v úterý a to rovnou se vším potřebným – dostupné je SDK, dokumentace, ovladače i testovací software. Khronos přitom nikdy k něčemu podobnému v minulosti nesáhnul – v předchozích případech byly postupně uvolněny specifikace, následně dokumentace, ovladače a další. Nyní se mohou vývojáři rovnou pustit do práce.

obrázek 074.jpg
První "hard launch". Vývojáři dostali k dispozici všechny potřebné nástroje včetně testovacích verzí ovladačů

Více vláken pro grafiku

Nízkoúrovňové API je rozhraním, které umožňuje vývojářům užší přístup k hardwaru a jeho ovladačům. Díky tomu je možné v softwaru snížit jeho nároky na běh, fungování lépe optimalizovat a dosáhnout tím vyššího výkonu typicky ve hrách, ale i jiných náročných 3D aplikacích.

Jednou z hlavních změn, které Vulkan oproti OpenGL přinesl, je podpora více vláken při úkolování GPU. Na rozdíl od předchozí technologie je tedy možné krmit grafiku ve vícevláknové frontě a zásadně tím snížit latence při vykreslování.

Tím pádem je již teď jasné, že Vulkan nahradí OpenGL velice rychle a stane se hlavním otevřeným nízkoúrovňovým API. Khronos také připomněl stejnou úlohu, kterou by měl Vulkan sehrát při vývoji aplikací pro virtuální realitu.

Multiplatformní open-source

Khronos vyvinul API tak, aby mohlo plynule pokračovat v misi OpenGL. Vulkan je tedy vyvíjen jako open-source bez zatížení licencováním. Úkolem také bylo dostat toto API na co nejvíce platforem – vedle nových systémů jako Windows 10 to měly být i starší verze. Nvidia i AMD tedy aktuálně garantují podporu na Windows 7 a novějších systémech. Khronos však hovoří i o podpoře Windows XP.

V zásadě by tedy měla být zachována podpora tam, kde fungovalo Open GL či mobilní Open GL ES. Na rozdíl od DirectX 12 totiž Vulkan není svázaný závislostí na WDDM (Windows Display Driver Model) verze 2.0, kterou přinesl právě Windows 10. Vulkan navíc bude frameworkem pro všechny platformy – Khronos jasně uvedl, že nebude vznikat Vulkan Desktop či Vulkan ES, které by se lišily podporou mobilních/desktopových systémů. Google slíbil podporu Vulkanu v budoucích verzích Androidu, podle webu Nvidie by se však měla dočkat již aktuální verze Android 6.0 Marshmallow.

obrázek 077.jpg
DirectX 12 je dostupný pouze pro Windows 10, Metal pro OS X a iOS. Vulkan zamíří kromě Applu na všechny hlavní platformy

Jedinou nezúčastněnou platformou tak zůstane Apple se systémy OS X a iOS. Anandtech uvedl, že se Apple aktivně podílel na prvotním vývoji, nicméně později z projektu vycouval a dále se v něm neangažuje. Ostatně na iOS nikdy nedošlo k aktualizaci na OpenGL 3.1 a v Cupertinu tedy začali naplno vsázet na svoje proprietární API Metal. Minulý rok navíc zamířilo z mobilního systému i do desktopového OS X a multiplatformním vývojářům tedy nezbyde nic jiného než na vyšší úrovni řešit podporu pro nízkoúrovňová API Vulkan a Metal.

Sady hardwarových funkcí

Vulkan začal pracovat, stejně jako DirectX 12, s tzv. sadami funkcí (feature sets). Ty obsahují hardwarové funkce, které je možné při implementaci API použít. Lišit se tedy budou třeba možnosti desktopového a mobilního Vulkanu. To je změna oproti OpenGL, které pracovalo s jednotlivými funkcemi a sady neznalo.

Khronos navíc dává možnost vývojářům operačních systémů na výběr, zda tyto sady funkcí budou sami definovat, nebo se o to postará konsorcium. Vlastní implementaci zvolil Google, který si funkce pro Android nadefinuje sám. Naopak Microsoft se rozhodl nechat to na Khronosu a stejně bude přistupováno i v případě linuxových systémů.

Aktuální sady funkcí kopírují dostupné funkce v OpenGL 4.5 a OpenGL ES 3.2, pro vývojáře tedy nebude přechod z OpenGL na Vulkan nijak drastický. V budoucnu se chce Khronos řídit především podle zpětné vazby vývojářů a podle ní zařadit žádané sady funkcí.

O vývojový balík se má také postarat Valve, které plánuje vydat LunarG SDK. To bude obsahovat všechny nástroje potřebné k vývoji her postavené na Vulkanu a především k jejich odladění. LunarG má být dostupné na Windows a Linuxu jako bezplatný nástroj.

Ovladače už má Nvidia i AMD

Společně s vydáním Vulkanu byly uvolněny ovladače ze strany výrobců hardwaru. Hlavní desktopová dvojka Nvidia a AMD již tedy na webu nabízí beta verze ovladačů, které nové API podporují. Drivery však vydali i další výrobci jako Intel, Qualcomm, Imagination a ve vývoji jsou také linuxové ovladače pro ARM.

obrázek 075.jpg
Ovladače jsou dostupné pro Windows, Linux i Android 6.0

U Nvidie se na podporu Vulkanu mohou těšit majitelé karet s architekturou Kepler a Maxwell (GTX 6XX a novější), u AMD to budou karty postavené na GCN 1.0 (většina HD 7XXX  a novější). Intel potom bude podporovat Vulkan u GPU v procesorech Broadwell a novějších.

A kde se dá Vulkan otestovat? Především v první hře, která nové API podporuje – The Talos Principle. Vývojáři zveřejnili beta verzi s označením 257458, která přinese podporu Vulcanu. Díky tomu se můžeme brzy těšit na první srovnání výkonu dostupných API ve hře – tedy DirectX 11, Vulkan a OpenGL. Zatím si můžete na Youtube prohlédnout první srovnávací videa ze hry.

Diskuze (32) Další článek: Inteligentní NAS na fotky Monument slibuje funkce Google Photos u vás doma

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,