Pokud rádi sledujete nejnovější technologie, určitě jste o Vulkanu slyšeli. Vulkan API je nejnovější a největší z grafických API, které oznámila společnost Khronos Group, která stojí za současným průmyslovým standardem OpenGL. Název projektu Vulkan byl oficiálně oznámen na konferenci vývojářů her v roce 2015 a první verze API byla uvedena na trh v únoru 2016. Nové API má za cíl posunout herní grafiku na další úroveň, takže pokud vás zajímá podrobnosti, jsme tu, abychom vám to poskytli.
Diskutujeme o tom, co je Vulkan API, jak se liší od svého předchůdce OpenGL a jak Vulkan API může v blízké budoucnosti změnit způsob vývoje her a dalších graficky náročných aplikací. Čtěte dále a prozkoumejte tento vzrušující vývoj ve světě vykreslování a grafiky.
Co je Vulkan API?
Před pár lety společnost AMD předvedla Mantle, která vytvořila rozhraní API zaměřené na 3D hry, a přestože slibovala, že je chytřejším řešením pro vykreslování grafiky, AMD tento projekt zabila. Poté společnost AMD poskytla komponenty Mantle API společnosti Khronos Group k vývoji standardního API pro vykreslování. Výsledkem je nové Vulcan API.
Vulkan API je API s nízkým režijním vykreslením, které může lépe využívat vícejádrové CPU, které jsou dnes všudypřítomné, a také poskytne programům přímější přístup k CPU a GPU systému. Je také agnostický pro OS. To znamená, že aplikace, které používají rozhraní Vulkan API, budou snadno přenosné.
Protože jsme sami vášnivými hráči a herními nadšenci, rozhodli jsme se nahlédnout do budoucnosti toho, jak budou hry brzy vyvíjeny a jak (pokud vůbec) zlepší náš herní zážitek.
Funkce
Vulkan API má spoustu funkcí, díky nimž je odlišný a lepší než jeho předchůdce OpenGL:
1. Vulkan API se pokouší vyrovnat zatížení zpracování rovnoměrně mezi každým jádrem v prostředí s více jádry. To znamená, že je tedy použito každé jádro v procesoru maximalizovat účinnost.
- To udělá velmi znatelný rozdíl ve vykreslování grafiky, která vyžaduje hodně volání draw.
- U starších rozhraní API je častěji problémem CPU. Vulkan však využívá vícejádrové procesory tak dobře, že je pravděpodobnější, že místo nich bude v GPU nalezen úzký profil.
2. Vulcan API nabídne přímý přístup k GPU, což zajistí, že se vyhnete zbytečným režijním nákladům při přístupu k GPU pro losování a další zařízení GPU.
- To znamená, že těžší hry nyní nebudou tak náročné na CPU, jako jsou v současné době. Ovladače budou také hrát menší roli při poskytování přístupu k GPU, čímž bude přenos informací mnohem rychlejší.
3. API je také navrženo tak, aby bylo zcela napříč platformami.
- Už žádné větvení API pro mobilní telefony, stolní počítače a konzoly. Vulkan API bude stejné na každém zařízení s kompatibilním GPU.
4. Zatímco OpenGL udržoval využití a synchronizaci paměti GPU skryté, Vulkan to odhaluje a dává vývojářům ještě lepší výkon kontrolu nad GPU a jak se používá.
- Vulkan umožňuje vývojářům řídit, jak GPU formátuje textury, spravuje paměť a provádí synchronizaci.
- Stále však skrývá dostatek informací k udržení kompatibilita mezi platformami.
5. Vulkan používá SPIR-V intermediální jazyk pro paralelní výpočty a grafiku. SPIR-V, stejně jako jeho předchůdci SPIR1.2 a SPIR2.0, byl vyvinut společností Khronos Group s tím rozdílem, že SPIR-V nepoužívá LLVM. SPIR-V umožňuje společnosti Vulkan mít na každé platformě společný kompilátor front-end. Vývojáři také nemusí dodávat jádro, kód shaderu a implementace ovladačů je zjednodušena.
Jak nám Vulkan může pomoci jako koncovým uživatelům
Rozhraní Vulkan API, pokud je vývojáři implementováno do plného potenciálu, může drasticky zlepšit herní zážitek koncového uživatele (to jste vy a já!). Myslet si konzolová grafika na mobilních zařízeních, možná i desktopová grafika pro špičkové vlajkové lodě s kompetentními procesory!
1. Vzhledem k tomu, že většina mobilních SoC je dnes také vícejádrová, Vulkan ano maximálně využívat procesory možné, aby byly hry plynulejší (vyšší FPS).
2. Vzhledem k tomu, že Vulkan poskytuje nízký režijní přístup k GPU zařízení, znamená to, že hry nyní budou moci do značné míry zkrátit čas potřebný k získání přístupu ke zdrojům GPU. To opět znamená lepší grafiku s vyššími snímky za sekundu o maximální využití schopností GPU.
3. Zatímco funkce pro různé platformy, které usnadňují přenositelnost her, se vás jako koncového uživatele nemusí přímo dotknout, znamená to, že je váš oblíbený hry a aplikace náročné na grafiku mohou být k dispozici téměř na každé platformě tam venku. Možnosti jsou nekonečné a omezené pouze naší představivostí.
4. Hry také budou moci zajistit plynulejší výkon zajištěním toho, že GPU věnuje větší pozornost (čtěte: přiděluje více paměti a dává přednost) věcem, které jsou uživateli okamžitě viditelné, díky čemuž je hra odolnější vůči zpožděním a poklesům rámce.
Možnosti pro vývojáře
I když je nízkoúrovňové API s nízkou režií pro grafiku nepochybně dobrý nápad, není to zjevná přitažlivost pro každého vývojáře, zejména pro ty nové. Programování na nižší, blíže k hardwarové úrovni vyžaduje o něco více zdatnosti než programování na vyšší úrovni, která je abstraktnější. To v žádném případě není šokující. Je to docela zřejmé a právě proto budou mít vývojáři tři různé možnosti, jak používat Vulkan pro své vývojové projekty.
1. Použijte přímo Vulkan API
- To poskytne přístup k hardwaru na nejnižší úrovni a zjevně to nebude volba pro každého. Tuto úroveň však lze použít k vytvoření srovnávacích nástrojů pro jiné aplikace vyvinuté pomocí Vulkanu.
2. Použijte knihovny
- Možná nejschopnější možnost pro vývojáře, kteří přecházejí z OpenGL na Vulkan.
- Většina knihoven bude otevřeným zdrojovým kódem, takže vývojáři, kteří mají zkušenosti s vývojem pomocí OpenGL, se mohou pokusit přenést své aplikace OpenGL na rozhraní Vulkan API s relativní lehkostí, místo aby museli provádět celkovou opravu nebo začít od nuly.
3. Používejte herní motory optimalizované pomocí Vulkanu
- Jsme si jisti, že právě sem se dostane většina vývojářů. Herní enginy jsou navrženy a vyvinuty dobře zavedenými, zkušenými a těžkými váhami v oboru a mohou je snadno používat vývojáři (zkušení i začátečníci) k vytváření her, které využívají výhody nabízené Vulkan API.
- Vývojáři jako Epic Games (Unreal Engine) a Unity (Unity Engine) již oznámili podporu Vulkanu ve svých nadcházejících enginech a mnoho dalších oznámilo plány následovat.
VIZ TÉŽ: Porozumění APFS: Nový systém souborů od společnosti Apple
Vzrušit se!
V případě, že vás článek nepřesvědčil ... nadchněte se! Nyní! Vulkan slibuje, že bude druhem průkopnického vývoje grafických API, který zlepší naše herní životy. Videa s porovnáním výkonu Vulkan a OpenGL již existují a výsledky jsou - jednoduše - úžasné. Pokud tato videa naznačují, připravte se na úžasnou grafickou kvalitu všude, včetně mobilních telefonů, a to vše díky příchodu rozhraní Vulcan API!
Takže, co si myslíte o Vulkanu? Myslíte si, že to bude velké zlepšení oproti současnému standardu OpenGL? Dejte nám vědět v sekci komentáře níže.