oktatóanyagok

▷ Directx 12 vs vulkan: a legjobb grafikus motorért folytatott küzdelem?

Tartalomjegyzék:

Anonim

Jelenleg a PC-világban két első osztályú grafikus API létezik, amelyek autoritással kezelik a piacot. Ezért hozza meg a DirectX 12 Vs Vulkan összehasonlítást.

Mindkettőnek hosszú története van mögöttük, és védekezők és megtámadók egész hordája van. Ma meglátjuk a különbségeket és az egyes kulcsokat, és megpróbálunk némi megvilágítást adni rájuk.

Tartalom index

Alacsony szintű grafikus API és „Driver overhead”

Az API az "alkalmazásprogramozási felület", és egy olyan alprogramok, amelyeket a fejlesztők használhatnak, és amelyek kommunikációs protokollokat és segédprogramokat is tartalmaznak, amelyek megkönnyítik a szoftverfejlesztést. Szinte mindenre megtalálhatjuk őket, és minden szolgáltató számára szokásos, hogy ilyen típusú segítséget nyújtson rendszerük egyszerű és hozzáférhető megvalósításához.

Az alacsony szintű API-k jobban kihasználják a GPU erőforrásait, enyhítve a CPU-t, de képesek jobban kihasználni a ma meglévő többmagos processzorokat is.

A DirectX 12 és a Vulkan 1.1 egyaránt olyan API-k, amelyek a modern grafikus motorok támogatását igénylő játékok és alkalmazások fejlesztésére irányulnak. Ugyanakkor ezek olyan API-k, amelyeket a legfontosabb grafikus lapkakészlet-tervezők illesztőprogramjai támogatnak, és ezért gyors és gazdaságos módja annak, hogy hozzáférjenek funkcióikhoz anélkül, hogy nagyon alacsony szintű tervezést kellene megismerniük.

Az ilyen alacsony szintű API lehetővé teszi a hardverrel való együttműködést egy nagyon könnyű értelmezési réteggel, amely lehetővé teszi a fejlesztő számára, hogy jobban kihasználja a hardvert, jobb teljesítményt érve el a teljesítmény és a hatékonyság szempontjából, és lehetővé téve más alrendszerek további terhelésének megszabadítását. A PC vagy a mobiltelefonok világában kevésbé függ a rendszer általános CPU-jától.

A két API, amelyről ma fogunk beszélni, alacsony szintű API-knak tekinthető, és mindkét fejlesztés egyre kevesebb függést eredményez a rendszer CPU-jától, miközben jobb eredményeket ér el a teljesítmény szintjén és a grafikus funkciókhoz való hozzáférést. előőrs. Két élő API, amelyek évente frissítéseket kapnak, hogy azok összhangban álljanak a lakosság és a fejlesztők elvárásaival.

Az alacsony szintű API-k közvetlen hatással vannak egy másik számítási koncepcióra, amelyet úgy ismertünk, mint „illesztőprogram-overhead”, vagyis röviden: a másodlagos erőforrások, amelyekre bizonyos típusú műveletek végrehajtásához szükségünk van egy számítógépen. A grafika esetében azokra az extra erőforrásokra utal, amelyeket a grafikus kártya igényel a munkájához, és ebben az esetben alapvetően a központi CPU folyamatok. Az itt ismertetett alacsony szintű API-k csökkentik ezt a függőséget, és valójában a függőség 0-ra hajlik.

Microsoft DirectX

A DirectX a különféle Windows multimédiás alrendszerek szabványosításának szükségessége, és helyettesíti a WinG for Windows 3.1 rendszert. A Windows 95-ben kiegészítő csomagként fogadják el, és második verziója, a DirectX 2.0, a Windows 95 OSR2 alapvető alkotóelemévé válik.

A DirectX-en belül számos független API-t találunk, mint például a Direct3D, amely valójában a kérdéses, a DirectDraw, DirectMusic, DirectPlay és DirectSound. A DirectX lehetővé tette a közös előrelépések megnevezését ezen al-API-k között. Ez egy API a Windows számára, de az Xbox konzoljain való játékfejlesztéshez is felhasználható, így Multiplatform API-nak tekinthetjük, de nem ingyenesen, mint a Vulkan esetében.

A legújabb verziója, a DirectX 12, 2014 óta van velünk, és nem áll tovább, és néhány hónappal ezelőtt olyan fontos fejlesztéseket kapott, mint például a Direct RayTracing (DXR) alprogram, amelyet a Windows 10 1809 októberi frissítési verziója tartalmazott.

Az alacsony szintű API-k, mint például a DirectX 12, alapvető előnnyel rendelkeznek, ami a meghajtóterhelés csökkentése. A programozók most felhatalmazást kapnak arra, hogy megtervezzék a GPU viselkedését a programjaikban, és hogyan tudják jobban kezelni a GPU erőforrásait, különösen a folyamat párhuzamosításának kihasználásával. Ez magában foglalja a több GPU jobb támogatását egy rendszerben, még akkor is, ha nem ugyanabból a gyártóból származnak.

Különböző típusú műveleteket hajthatnak végre, általában "egész" vagy "lebegőpontos", kihasználva a kompatibilis grafika képességeit, és megosztva az összetett műveleteket egyszerűbbekké is, ha ezeket a nagyobb buszokon párhuzamosan dolgozzák fel. Jó példa erre az, hogy az AMD vagy az Nvidia miként tudja feldolgozni a 16 bites műveleteket 32 ​​bites buszokon, ezáltal jelentősen javítva grafikájuk hatékonyságát.

Ez az API közelebb hozta a konzol GPU használatának hatékonyságát, ahol a fejlesztők tökéletesen ismerik a rendelkezésre álló hardvert, egészen a heterogén ökoszisztémáig, amely végtelen különféle hardver lehetőségekkel rendelkező PC-t alkot.

Jelenleg a DirectX 12 meglepő módon elérhető a Windows 7 és a Windows 10 rendszerhez, és bár ez nem közvetlenül kompatibilis az Xbox One-tal, az igazság az, hogy a funkcionalitás gyakorlatilag 90% -át PC-re használják, a különbségek minimálisak, és ez lehetővé tette A fejlesztők gyorsan adaptálják a PC-játékaikat az Xbox One-hoz és fordítva.

Vulkan of Khronos

A Vulkan az OpenGL alacsony szintű API - jának fejlődése, amelyet a Khronos Corporation támogat. A PC-világban másodlagos szerepet játszanak a DirectX 12-hez képest, ám a különféle platformokhoz, például az Androidhoz tartozó eltérő adaptációi teszik a mobilitás grafikájának referenciamutatójává. Kompatibilis a Linuxtal is, mivel ez a játék kiváló alternatívája a szabad rendszerekben.

Nagy erénye a nagy párhuzamos feldolgozási kapacitás, rendkívül hatékony a modern CPU-kban és GPU-kban, az előbbiek alacsony felhasználását és az utóbbi hardverének nagyszerű felhasználását eredményezi. Kifejezetten annak a többmagos processzoroknak a kihasználására tervezték, amelyek az ilyen típusú processzorokban kiváló terheléselosztást valósítanak meg, sőt, sokkal hatékonyabb, mert annál több magot tudunk biztosítani.

A Vulkan története egy évvel nyúlik vissza, miután a DirectX 12 és a Khronos, amely egy nonprofit társaság, ugyanolyan gyakran vagy gyakrabban tartja fenn, mint a Microsoft a saját API-val. Az API köpenyén alapszik, amelyet az AMD fejlesztett ki a GCN architektúrájához, és ez egy újabb alacsony szintű API volt a csökkentett „felső meghajtó” számára. Az AMD fejlesztéseit a Khronos-nak adományozta, és ezek képezik a piac egyik legjobb grafikus API-jának alapjait.

A kiváló párhuzamosítás mellett ez a kialakítás lehetővé teszi az árnyékolási műveletek előzetes összeállítását a GPU-n is, kiküszöbölve a több effektust és a képernyőn nagyobb betöltési sebességet, valamint a hardver folyamatainak részletesebb beállítását vagy a hozzáférést a elérhető keretpuffer. Természetesen az a PC-hez tartozó API, amely a legközelebb van a hardverhez, még jobb, mint a DirectX 12.

A Vulkan alacsony szintű API-fejlesztéseket is bevezet az Androidon és más platformon.

Legújabb verziója, a Vulkan 1.1, amelyet 2018 végén vezettek be, olyan fontos fejlesztésekkel jár, mint a HLSL támogatás, amely a DirectX 12 alternatívája az árnyékoló műveletek előkezelés nélküli kezelésének, jobb kompatibilitása a DirectX 12-vel (számos alprogramhoz) kivéve a grafikákat), kifejezett támogatás a Multi-GPU rendszerekhez, gyártótól függetlenül, és természetesen a RayTracing támogatása.

A DirectX 12 és a Vulkan erősségei és gyengeségei

A már leírt közös jellemzők mellett, mint például a hardver jobb használata, a nagyobb ellenőrzés és a GPU és a CPU párhuzamosításának jobb kihasználása, ez a két API lehetővé teszi az általános számítási műveletek végrehajtását grafikus chipekkel amelyek kompatibilisek. Ez lehetővé teszi a kompatibilis grafikus motorok fejlesztését már több generáció óta, hogy összetett matematikai műveleteket hajtsanak végre, amelyeket mindenféle program kihasználhat, beleértve azokat is, amelyek grafikus alkatrészek nélkül vannak.

A játékokban egyre fontosabb másodlagos műveletekre is felhasználhatók, mint például a valósághű fizika, a mesterséges intelligencia, a helyzetbeli hanghatások kiszámítása stb.

Mindkét API-t nagyszerűen támogatja a grafika sokasága, mind az AMD, mind az Nvidia arra törekszik, hogy ezeknek az API-knak a megfelelő illesztőprogramokat kínáljon, hogy mindkettő a legújabb fejlesztéseket kínálja felhasználói számára, és erősítse meg az egyiket használó játékok teljesítményét és stabilitását vagy más API-t.

Valójában mindkettő „vezetői fölött” valójában nagyon alacsony, amint azt látjuk a teszteinkben, alig vannak különbségek közöttük, ami szintén jelzi mindkét gyártó illesztőprogramjainak fontos optimalizálását.

A framerate-et 120FPS-re korlátoztuk a Driver Overhead bemutatójára. A Dota 2-ben a CPU-fogyasztás lényegesen csökkent ugyanannak az FPS-nek.

Az egyetlen nyilvánvalóbb különbség az, hogy a Vulkan valamivel kevésbé függ a CPU-tól, alacsonyabb átlagos fogyasztás mellett, és sokkal nyitottabb a különféle platformok számára, beleértve a Windows-ot és a Linuxot, valamint az OpenGL ES-vel való homogenizálása, amely a mobil verziója, úton van, még jobban egyesítve azokat a platformokat, amelyeken mozog.

A DirectX 12 támogatja a fejlesztők nagy elfogadását, akik úgy tűnik, hogy ebben az API-ban tökéletes ökoszisztémát találnak költségcsökkentésükhöz, mivel még az integrációja olyan széles körű keretrendszerekbe is kiterjed, mint a.NET-keretrendszer, ahol ezer csodával integrálódik. kis teljesítményvesztéssel.

Teljesítménybeli különbségek kettős API-val rendelkező játékokban

Mivel a mozgást gyaloglás bizonyítja, különféle játékokban és teljesítményértékelésekben végeztünk néhány teljesítménytesztet, amelyek képesek arra, hogy ezt a két API-t végrehajtáshoz használják.

3DMark illesztőprogram felső teszt. Több millió kérés eredménye, annál jobb.

A szingularitás hamu. Eredmények az FPS-ben, annál jobb.

Furcsa dandártábornok. Eredmények az FPS-ben, annál jobb.

Összefoglaljuk a legjobb hardver útmutatókat, amelyek érdekelhetik Önt:

  • Legjobb processzorok a piacon Legjobb alaplapok a piacon Legjobb RAM memória a piacon Legjobb grafikus kártyák a piacon Legjobb SSD-k a piacon Jobb alváz- vagy PC-tokok Jobb tápegységek Jobb hűtőborda és folyékony hűtő

Mint láthatja, az eredmények egyenletesek, és különbségeket tapasztalunk a programok között az ellen és ellen. Ez felteszi a kérdést, hogy melyik a jobb és a válasz egyértelmű, attól függ, hogy mi a program, és hogy a fejlesztője hogyan ismeri vagy akarja használni az előnyeit. Végül azt gondoljuk, hogy minden játékban a fejlesztők pontosan azt az API-t fogják használni, amely a legjobban kihasználja a grafikánk előnyeit, bár egyértelmű, hogy mindkét lehetőség több mint kompetens. Mit gondol a Directx 12 vs Vulkan-ról szóló cikkünkről ? Szeretnénk tudni a véleményét!

oktatóanyagok

Választható editor

Back to top button