Výukové programy

▷ Directx 12 vs vulkan: boj o nejlepší grafický stroj?

Obsah:

Anonim

V současné době ve světě počítačů existují dvě prvotřídní grafická rozhraní API, která spravují trh s autoritou. Z tohoto důvodu vám přinášíme srovnání DirectX 12 Vs Vulkan.

Oba mají za sebou dlouhou historii a celou hordu obránců a odpůrců. Dnes uvidíme rozdíly, klíče každého z nich a pokusíme se jim nabídnout nějaké světlo.

Index obsahu

Nízkoúrovňové grafické rozhraní API a „Režie řidiče“

API je zkratka pro „aplikační programovací rozhraní“ a je sadou podprogramů, které může použít vývojář a která zahrnuje také komunikační protokoly a nástroje, které usnadňují vývoj softwaru. Najdeme je téměř pro všechno a je běžné, že každý poskytovatel služeb má tento druh pomoci, aby mohl implementovat své systémy jednoduchým a přístupným způsobem.

Nízkoúrovňová API lépe využívají zdroje GPU, uvolňují CPU, ale jsou také schopna lépe využívat vícejádrové procesory, které máme dnes.

DirectX 12 i Vulkan 1.1 jsou API zaměřená na vývoj her a aplikací, které vyžadují pomoc moderních grafických strojů. Zároveň se jedná o API podporovaná ovladači nejdůležitějších návrhářů grafických čipů, a proto rychlý a ekonomický způsob přístupu k jejich funkcím bez nutnosti znát jejich design na velmi nízké úrovni.

Nízkoúrovňové API, jako jsou tyto, umožňuje práci s hardwarem s velmi lehkou interpretační vrstvou, což umožňuje vývojáři lépe využívat hardware, dosahovat lepších výsledků z hlediska výkonu a efektivity a také uvolňovat další subsystémy dalšího zatížení. Ve světě PC nebo mobilních telefonů je méně závislá na obecném procesoru systému.

Dvě API, o kterých budeme dnes hovořit, lze považovat za nízkoúrovňová API a oba vývojy vedly k menší a menší závislosti na CPU systému a zároveň dosahovaly lepších výsledků na úrovni výkonu a přístupu k více grafickým funkcím. pokročilé. Jedná se o dvě aktivní rozhraní API, která přijímají aktualizace každý rok, aby je udržovaly v souladu s tím, co veřejnost a vývojáři očekávají.

Nízkoúrovňová API mají přímý účinek na další výpočetní koncept, který známe jako „režijní režie“, což je zkrátka sekundární zdroje, které potřebujeme k provedení určitých typů operací v počítači. V případě grafiky se odkazuje na další zdroje, které grafická karta potřebuje k provedení své práce, a v tomto případě je to v zásadě centrální doba zpracování CPU. Nízkoúrovňová API, která zde popisujeme, tuto závislost snižují a závislost má ve skutečnosti tendenci k 0.

Microsoft DirectX

DirectX vzniká jako nutnost standardizace různých multimediálních subsystémů Windows a nahrazuje WinG pro Windows 3.1. Je přijímán v systému Windows 95 jako doplňkový balíček a jeho druhá verze DirectX 2.0 se stává základní součástí systému Windows 95 OSR2.

V DirectX najdeme několik nezávislých API, jako je Direct3D, což je skutečně jedno z nich, DirectDraw, DirectMusic, DirectPlay a DirectSound. DirectX byl způsob, jak pojmenovat běžné pokroky ve všech těchto sub-API. Je to API pro Windows, ale také se používá pro vývoj her na konzolách Xbox, takže jej můžeme považovat za multiplatformní API, ale ne zdarma, jako je tomu v případě Vulkan.

DirectX 12, jeho nejnovější verze, je s námi od roku 2014 a nestojí v klidu a před několika měsíci obdržela důležitá vylepšení, jako je podprogram Direct RayTracing (DXR), který byl zahrnut do aktualizační verze systému Windows 10 s říjnem 1809.

Nízkoúrovňová API jako DirectX 12 mají zásadní výhodu, což je snížení režie řidiče. Programátoři jsou nyní oprávněni navrhnout, jak se bude GPU chovat ve svých programech, a mohou lépe spravovat zdroje GPU, zejména využitím paralelizace procesů. To zahrnuje lepší podporu více GPU v jednom systému, i když nejsou od stejného výrobce.

Mohou provádět různé typy operací, obvykle „celé číslo“ nebo „pohyblivá čárka“, přičemž využívají výhod kompatibilní grafiky a také rozdělují složité operace na jednodušší tím, že je paralelně zpracovávají na těchto větších sběrnicích. Dobrým příkladem je to, jak mohou AMD nebo Nvidia nyní zpracovat 16bitové operace na svých 32bitových sběrnicích, což výrazně zvyšuje efektivitu jejich grafiky.

Toto API přiblížilo účinnost používání konzole GPU, kde vývojáři dokonale znají dostupný hardware, až po heterogenní ekosystém, který tvoří počítač s nekonečnými různými hardwarovými možnostmi.

V současné době je DirectX 12 překvapivě k dispozici pro Windows 7 a Windows 10 a ačkoli není přímo kompatibilní s Xbox One, pravdou je, že prakticky 90% jeho funkčnosti se používá pro PC, rozdíly jsou minimální a to umožnilo vývojáři rychle přizpůsobují své PC hry pro Xbox One a naopak.

Vulkan z Khronosu

Vulkan je vývojem rozhraní API nízké úrovně OpenGL a je podporován společností Khronos Corporation. Ve světě počítačů mají druhořadou roli oproti DirectX 12, ale jeho různé přizpůsobení různým platformám, jako je Android, z něj učinilo měřítko v grafice pro mobilitu. Je také kompatibilní s Linuxem, který je velkou alternativou hry ve volných systémech.

Jeho velkou předností je velká kapacita paralelního zpracování, která je mimořádně efektivní v moderních procesorech a GPU, dosahuje nízkého využití prvního a velkého využití jeho hardwaru. Je speciálně navržen tak, aby využíval vícejádrové procesory a dosahoval vynikajícího rozložení zátěže u tohoto typu procesorů, ve skutečnosti je o to efektivnější pro více jader, která můžeme poskytnout.

Historie Vulkánu sahá až rok poté, co DirectX 12 a Khronos, což je nezisková společnost, ji udržují tak často nebo častěji než Microsoft s vlastním API. Je založen na API Mantle, který AMD vyvinul pro svou architekturu GCN, a to bylo další nízkoúrovňové API pro snížený „režijní ovladač“. AMD věnoval svůj vývoj společnosti Khronos a to jsou základy jednoho z nejlepších grafických API na trhu.

Kromě vynikající paralelizace umožňuje tato konstrukce také vyloučit předkompilaci stínování na GPU, mít více efektů a na obrazovce s vyšší rychlostí načítání, kromě podrobnější úpravy způsobu, jakým hardware zpracovává operace nebo jak přistupujeme k k dispozici je vyrovnávací paměť snímků. Je to API pro PC, které je nejblíže k samotnému hardwaru, ještě lepší než DirectX 12.

Vulkan také zavádí vylepšení API na nízké úrovni pro Android a další platformy.

Jeho nejnovější verze, Vulkan 1.1, uvedená na konci roku 2018, přidává důležitá vylepšení, jako je podpora HLSL, což je alternativa DirectX 12 k řízení operací shaderu bez potřeby předkompilace, lepší kompatibilita s DirectX 12 (k mnoha jeho podprogramům) kromě grafiky), explicitní podpora systémů Multi-GPU bez ohledu na výrobce a samozřejmě podpora RayTracing.

Silné a slabé stránky DirectX 12 vs Vulkan

Kromě již popsaných běžných funkcí, jako je lepší používání hardwaru, větší kontrola nad ním a lepší využití paralelizace GPU a CPU, tato dvě API také přidávají možnost provádět obecné výpočtové operace s grafickými čipy s které jsou kompatibilní. To umožňuje kompatibilním grafickým modulům již několik generací provádět složité matematické operace, které mohou využívat programy všeho druhu, včetně těch, které neobsahují grafické komponenty.

Ve hrách mohou být také použity pro stále důležitější sekundární operace, jako je výpočet realistické fyziky, umělé inteligence, poziční zvukové efekty atd.

Obě API mají velkou podporu velikostí grafiky, jak AMD, tak Nvidia se snaží nabídnout těmto API odpovídající ovladače, aby dosáhly jak nabídnout svým uživatelům nejnovější vylepšení a posílit výkon a stabilitu her, které používají jednu nebo jiné API.

„Režijní režie“ obou je ve skutečnosti velmi nízká, jak uvidíte v našich testech, že mezi nimi nejsou žádné rozdíly, což je také známkou důležité optimalizace ovladačů obou výrobců.

Pro demonstraci režie řidiče jsme omezili snímkovou rychlost na 120 FPS. V Dota 2 je spotřeba CPU podstatně snížena při stejném FPS.

Jediným zjevnějším rozdílem je, že Vulkan má poněkud menší závislost na procesoru, s nižší průměrnou spotřebou a že je také mnohem otevřenější různým platformám, včetně Windows a Linux a jeho homogenizaci s OpenGL ES, což je jeho mobilní verze, jde o další sjednocení platforem, na nichž se pohybuje.

DirectX 12 má ve prospěch příznivého přijetí ze strany vývojářů, kteří podle všeho najdou v tomto API dokonalý ekosystém ke snížení svých nákladů, protože má dokonce velkou integraci do rámců tak rozšířených jako.NET Framework, kde integruje tisíc divů s malou ztrátou výkonu.

Rozdíly ve výkonu ve hrách s dvojitým rozhraním API

Jak je pohyb demonstrován chůzí, provedli jsme několik výkonnostních testů v různých hrách a benchmarkech, které mají schopnost použít tato dvě API k provedení.

Test režie ovladače 3DMark. Výsledky v milionech žádostí, více je lepší.

Popel singulity. Výsledky v FPS, více je lepší.

Podivná brigáda. Výsledky v FPS, více je lepší.

Shrnujeme nejlepší hardwarové příručky, které by vás měly zajímat:

  • Nejlepší procesory na trhu Nejlepší základní desky na trhu Nejlepší RAM paměti na trhu Nejlepší grafické karty na trhu Nejlepší SSD na trhu Nejlepší skříně nebo skříně PC Lepší zdroje napájení Lepší chladiče a chladiče kapalin

Jak vidíte, výsledky jsou vyrovnané a vidíme rozdíly mezi programy pro a proti jednomu a druhému. To nám dává otázku, která je lepší a odpověď je jasná, záleží na programu a na tom, jak jeho vývojář ví nebo chce využít jeho výhod. Zbývá si myslet, že v každé hře budou vývojáři používat přesně API, které nejlépe využívá výhod naší grafiky, i když je jasné, že obě možnosti se zdají více než kompetentní. Co si myslíte o našem článku o Directx 12 vs Vulkan ? Chceme znát váš názor!

Výukové programy

Výběr redakce

Back to top button