▷ Directx 12 vs vulkan: boj za najboljši grafični motor?
Kazalo:
- Grafični API in nizka raven gonilnika
- Microsoft DirectX
- Vulkan iz Khronosa
- Prednosti in slabosti DirectX 12 proti Vulkanu
- Razlike v zmogljivosti v igrah z dvojnim API-jem
Trenutno za svet osebnih računalnikov obstajata dva prvovrstna grafična API-ja, ki s pooblastilom upravljajo trg. Zaradi tega vam ponujamo primerjavo DirectX 12 Vs Vulkan.
Oba imata za seboj dolgo zgodovino in celo horde branilcev in škodljivcev. Danes bomo videli razlike, ključe vsakega od njih in poskusili jim bomo ponuditi nekaj svetlobe.
Kazalo vsebine
Grafični API in nizka raven gonilnika
API pomeni "vmesnik za programiranje aplikacij" in je niz podprogramov, ki jih lahko uporabi razvijalci, ki vključujejo tudi komunikacijske protokole in pripomočke, ki olajšajo razvoj programske opreme. Najdemo jih za skoraj vse, vsak ponudnik storitev pa je skupen, da ima to vrsto pomoči za enostaven in dostopen sistem.
API-ji nizkega nivoja bolje izkoristijo vire GPU-ja, razbremenijo CPU, vendar pa lahko tudi bolje izkoristijo večjedrne procesorje, ki jih imamo danes.
Tako DirectX 12 kot Vulkan 1.1 sta API-ja, usmerjena v razvoj iger in aplikacij, za katere je potrebna pomoč sodobnih grafičnih motorjev. Hkrati so to API-ji, ki jih podpirajo gonilniki najpomembnejših oblikovalcev grafičnih čipov in zato hiter in ekonomičen način dostopa do njihovih funkcij, ne da bi morali poznati njihovo zasnovo na zelo nizki ravni.
API nizke ravni, kot je ta, omogoča delo s strojno opremo z zelo lahko razlagalno plastjo, ki omogoča razvijalcu, da bolje izkoristi strojno opremo, dosega boljše rezultate v smislu zmogljivosti in učinkovitosti, poleg tega pa lahko druge podsisteme osvobodi dodatne obremenitve. V svetu osebnega računalnika ali mobilnih telefonov je manj odvisen od splošnega CPU sistema.
Dva API-ja, o katerih bomo govorili danes, se lahko štejeta za API-je na nizki ravni in oba razvoja sta povzročila manjšo in manjšo odvisnost od sistemskega procesorja, hkrati pa dosegala boljše rezultate na ravni zmogljivosti in dostop do več grafičnih funkcij. napredno. Gre za dva API-ja v živo, ki letno prejemata posodobitve, da bi bila v skladu s pričakovanji širše javnosti in razvijalcev.
API-ji nizkega nivoja neposredno vplivajo na drug računalniški koncept, ki ga poznamo kot "gonilne stroške", kar je skratka sekundarni viri, ki jih potrebujemo za izvajanje nekaterih vrst operacij na računalniku. V primeru grafike se nanaša na dodatne vire, ki jih grafična kartica potrebuje za svoje delo in v tem primeru je v bistvu čas centralnega procesorja. API-ji nizke ravni, ki jih bomo tukaj opisali, zmanjšujejo to odvisnost in dejansko odvisnost teži do 0.
Microsoft DirectX
DirectX se pojavlja kot nuja po standardizaciji različnih Windows multimedijskih podsistemov in je nadomestilo za WinG za Windows 3.1. V operacijskem sistemu Windows 95 je sprejet kot dodatek, njegova druga različica DirectX 2.0 pa je postala temeljna komponenta sistema Windows 95 OSR2.
Znotraj DirectX-a najdemo več neodvisnih API-jev, kot je Direct3D, ki je v resnici zadevni, DirectDraw, DirectMusic, DirectPlay in DirectSound. DirectX je bil način poimenovanja skupnih napredkov v vseh teh pod API-jih. Gre za API za Windows, vendar se uporablja tudi za razvoj iger na njegovih konzolah Xbox, zato ga lahko smatramo za Multiplatform API, vendar ne zastonj, kot je to primer z Vulkanom.
Najnovejša različica DirectX 12 je pri nas od leta 2014 in ne miruje, pred nekaj meseci pa je prejela pomembne izboljšave, kot je podprogram Direct Ray Tracing (DXR), ki je bil vključen v oktobrsko posodobljeno različico sistema Windows 10 iz leta 1809.
API-ji nizkega nivoja, kot je DirectX 12, imajo temeljno prednost, in sicer je zmanjšanje pogonskih stroškov gonilnika. Programerji so zdaj pooblaščeni, da oblikujejo, kako se bo GPU obnašal v svojih programih, in lahko bolje upravljajo z viri GPU-ja, zlasti z uporabo paralelizacije procesov. To vključuje boljšo podporo več GPU-jev v enem sistemu in tudi če niso istega proizvajalca.
Izvajajo lahko različne vrste operacij, običajno "celo število" ali "plavajoča točka", pri čemer izkoristijo zmogljivosti združljive grafike in tudi razdelijo kompleksne operacije na enostavnejše, tako da jih vzporedno obdelajo na teh večjih vodilih. Dober primer je, kako lahko AMD ali Nvidia zdaj na svojih 32-bitnih vodilih obdelujeta 16-bitne operacije, kar bistveno izboljša učinkovitost njihove grafike.
Ta API je približal učinkovitost uporabe konzolnega GPU-ja, kjer razvijalci odlično poznajo razpoložljivo strojno opremo, vse do heterogenega ekosistema, ki tvori osebni računalnik z neskončnimi različnimi možnostmi strojne opreme.
Trenutno je DirectX 12 na presenečenje na voljo za Windows 7 in Windows 10, in čeprav ni neposredno združljiv z Xbox One, resnica je, da se za računalnik uporablja skoraj 90% njegove funkcionalnosti, razlike pa so minimalne in to je omogočilo razvijalci hitre prilagoditve svojih računalniških iger za Xbox One in obratno.
Vulkan iz Khronosa
Vulkan je razvoj do OpenGL-ovega API - ja za nizko raven in ga podpira Khronos Corporation. V svetu osebnih računalnikov imajo drugotno vlogo v primerjavi z DirectX 12, vendar so njegove različne prilagoditve različnim platformam, kot je Android, postale merilo v grafiki za mobilnost. Prav tako je združljiv z Linuxom, saj je odlična alternativa igram v brezplačnih sistemih.
Njegova velika vrlina je njegova velika vzporedna procesna zmogljivost, saj je izjemno učinkovit v sodobnih procesorjih in GPU-ju, dosega majhno uporabo prvega in veliko uporabo strojne opreme drugih. Zasnovan je posebej za izkoriščanje večjedrnih procesorjev, ki dosegajo odlično porazdelitev obremenitve pri tej vrsti procesorjev, pravzaprav je toliko učinkovitejši za več jeder, ki jih lahko zagotovimo.
Zgodovina Vulkana sega v leto po tem, ko DirectX 12 in Khronos, ki je neprofitna družba, vzdržujeta tako pogosto kot pogosteje kot Microsoft s svojim API-jem. Temelji na API Mantle, ki ga je AMD razvil za svojo arhitekturo GCN in je bil to še en API nizkega nivoja za zmanjšan "nadzemni gonilnik". AMD je podaril svoj razvoj podjetju Khronos in to so temelji enega najboljših grafičnih API-jev na trgu.
Poleg vrhunske paralelizacije ta zasnova omogoča tudi odpravo predkompilacije senčenja na GPU-ju, da ima lahko več učinkov in na zaslonu z višjo hitrostjo nalaganja, poleg podrobnejše prilagoditve delovanja strojne opreme ali kako dostopamo do na voljo je medpomnilnik okvirja Zagotovo je API za osebni računalnik najbližji sami strojni opremi, celo boljši kot DirectX 12.
Vulkan uvaja tudi izboljšave API-ja na nizkih ravneh na Android in drugih platformah.
Njegova zadnja različica Vulkan 1.1, ki je bila predstavljena konec leta 2018, dodaja pomembne izboljšave, kot je podpora HLSL, ki je DirectX 12 alternativa upravljanju operacij senčil brez predhodne kompilacije, boljša združljivost z DirectX 12 (številnim podprogramom) razen grafike), eksplicitna podpora sistemom Multi-GPU ne glede na proizvajalca in seveda podpora za RayTracing.
Prednosti in slabosti DirectX 12 proti Vulkanu
Poleg že opisanih skupnih funkcij, kot so boljša uporaba strojne opreme, boljši nadzor nad njo in boljša uporaba paralelizacije tako GPU-ja kot CPU-ja, ta dva API-ja dodata tudi možnost izvajanja splošnih računskih operacij z grafičnimi čipi z ki so združljivi. To omogoča združljivim grafičnim motorjem že več generacij, da lahko izvajajo zapletene matematične operacije, ki jih lahko izkoristijo programi vseh vrst, vključno s tistimi brez grafičnih komponent.
V igrah se lahko uporabljajo tudi za vse pomembnejše sekundarne operacije, kot so izračun realistične fizike, umetna inteligenca, pozicijski zvočni učinki itd.
Oba API-ja imata veliko podporo grafike, tako AMD kot Nvidia si prizadevata, da bi ta API-ja ponudili ustreznim gonilnikom, da bi dosegli, da bi svojim uporabnikom ponudili najnovejše izboljšave in izboljšali delovanje in stabilnost iger, ki uporabljajo eno ali drug API.
"Vozniški stroški" obeh so zelo nizki, pravzaprav, kot boste videli na naših testih, med njimi skoraj ni razlik, kar je tudi znak pomembne optimizacije voznikov obeh proizvajalcev.
Okvir smo omejili na 120 sličic na sekundo za prikaz pogona Driver Overhead. V Dota 2 se poraba CPU znatno zmanjša z istim FPS.
Edina bolj očitna razlika je, da ima Vulkan nekoliko manjšo odvisnost od procesorja, z nižjo povprečno porabo in da je tudi veliko bolj odprt za različne platforme, vključno z Windows in Linux ter njegovo homogenizacijo z OpenGL ES, ki je njegova mobilna različica, je na poti nadaljnje poenotenje platform, na katerih se giblje.
DirectX 12 ima v prid velik odziv razvijalcev, za katere se zdi, da v tem API-ju najdejo popoln ekosistem za zmanjšanje svojih stroškov, saj ima celo veliko integracijo v tako razširjene okvire kot.NET Framework, kjer se združuje s tisočimi čudeži z malo izgube delovanja.
Razlike v zmogljivosti v igrah z dvojnim API-jem
Ker gibanje dokazujemo s hojo, smo izvedli nekaj preizkusov zmogljivosti v različnih igrah in merilih, ki omogočajo uporabo teh dveh API-jev za izvajanje.
3DMark Vozni režijski test. Rezultati v milijonih prošenj so boljši.
Pepel posebnosti. Rezultati v FPS, boljše je.
Čudna brigada. Rezultati v FPS, boljše je.
Povzemamo najboljše strojne vodnike, ki bi vas morali zanimati:
- Najboljši procesorji na trgu Najboljše matične plošče na trgu Najboljši pomnilnik pomnilnika RAM na trgu Najboljše grafične kartice na trgu Najboljši SSD diski na trgu Boljše ohišja šasije ali računalnika Boljše napajalniki
Kot vidite, so rezultati enakomerni in opažamo razlike med programi za in proti enemu in drugemu. To nas pušča pri vprašanju, kaj je bolje in odgovor je jasen, odvisno je od programa in tega, kako njegov razvijalci ve ali želi izkoristiti svoje prednosti. Ostaja še misliti, da bodo razvijalci v vsaki igri uporabili natančno API, ki najbolje izkoristi prednosti naše grafike, čeprav je jasno, da sta obe možnosti videti več kot kompetentni. Kaj ste pomislili na naš članek o Directxu 12 proti Vulkanu ? Želimo vedeti vaše mnenje!
Lumberyard je grafični motor amazona
Amazon ustvarja svoj prvi grafični motor Lumberyard. Apriori bo brezplačen in bo imel svoje omejitve, čeprav je njegova študija idealna za uporabo video iger.
Crytekov grafični motor Cryengine v vključuje podporo za vulkan in directx snemanje
Crytek je pokazal zmogljivosti svojega novega grafičnega motorja CryEngine V z demonstracijo svoje video igre Hunt: Shodown, ki je videti spektakularno.
Unreal grafični motor doda podporo za sledenje žarkov
Podpora Unreal Engine naj bi pospešila razvoj iger z Ray Tracingom, ki upravičujejo izplačilo za RTX.