▷ „Directx 12 vs vulkan“: kova dėl geriausio grafikos variklio?
Turinys:
- Žemo lygio grafinė API ir „Vairuotojo pridėtinė vertė“
- „Microsoft DirectX“
- Khronos „Vulkan“
- „DirectX 12“ ir „Vulkan“ stipriosios ir silpnosios pusės
- Žaidimų su dviguba API našumo skirtumai
Šiuo metu asmeninių kompiuterių pasaulyje yra dvi aukščiausios klasės grafinės API, kurios autoritetingai valdo rinką. Dėl šios priežasties pateikiame „ DirectX 12 Vs Vulkan“ palyginimą.
Abu jie turi ilgą istoriją ir yra daugybė gynėjų ir naikintojų būrio. Šiandien pamatysime skirtumus, kiekvieno klavišus ir pamėginsime juos šiek tiek parodyti.
Turinio rodyklė
Žemo lygio grafinė API ir „Vairuotojo pridėtinė vertė“
API reiškia „programų programavimo sąsają“ ir yra paprogramių, kuriomis gali naudotis kūrėjas, rinkinys, kuris taip pat apima komunikacijos protokolus ir komunalines paslaugas, palengvinančias programinės įrangos kūrimą. Jų galime rasti beveik visose dalyse ir yra įprasta, kad kiekvienas paslaugų teikėjas turi tokio tipo pagalbą, kad įgyvendintų savo sistemas paprastu ir prieinamu būdu.
Žemo lygio API geriau išnaudoja GPU išteklius ir palengvina centrinį procesorių, tačiau taip pat sugeba geriau išnaudoti daugialypius procesorius, kuriuos šiandien turime.
Tiek „ DirectX 12“, tiek „ Vulkan 1.1“ yra API, orientuotos į žaidimų ir programų, kurioms reikia šiuolaikinių grafikos variklių, kūrimą. Kartu tai yra API, palaikomos svarbiausių grafinių mikroschemų rinkinių dizainerių, todėl yra greitas ir ekonomiškas būdas pasiekti jų funkcijas, nežinant jų dizaino labai žemu lygiu.
Žemo lygio API, tokia kaip ši, leidžia dirbti su technine įranga, turint labai lengvą interpretacijos sluoksnį, o tai leidžia kūrėjui geriau išnaudoti aparatinę įrangą, pasiekti geresnių rezultatų eksploatacinių savybių ir efektyvumo prasme bei atlaisvinti kitus posistemius papildomos apkrovos. Kompiuterio ar mobiliųjų telefonų pasaulyje jis yra mažiau priklausomas nuo bendro sistemos centrinio procesoriaus.
Dvi API, apie kurias šiandien kalbėsime, gali būti laikomos žemo lygio API, ir abu pokyčiai lėmė vis mažesnę priklausomybę nuo sistemos procesoriaus, tuo pačiu pasiekiant geresnių rezultatų našumo lygyje ir prieigą prie daugiau grafinių funkcijų. pažengęs. Tai yra dvi tiesioginės API, kurios kasmet atnaujinamos, kad atitiktų tai, ko tikisi plačioji visuomenė ir kūrėjai.
Žemo lygio API turi tiesioginį poveikį kitai skaičiavimo koncepcijai, kurią mes žinome kaip „vairuotojo pridėtinę vertę“, ty trumpai tariant, antrinius išteklius, kurių mums reikia norint atlikti tam tikros rūšies operacijas kompiuteryje. Grafikos atveju tai reiškia papildomus išteklius, kurių reikia grafikos plokštei, norint atlikti savo darbą, ir šiuo atveju tai iš esmės yra centrinis procesoriaus proceso laikas. Žemo lygio API, kurias čia apibūdinsime, sumažina šią priklausomybę, o iš tikrųjų priklausomybė linkusi iki 0.
„Microsoft DirectX“
„DirectX“ atsiranda kaip poreikis standartizuoti skirtingus „Windows“ daugialypės terpės posistemius ir yra „Windows 3.1“ naudojamo „WinG“ pakaitalas. Ji priimama „Windows 95“ kaip papildomas paketas, o antroji jos „DirectX 2.0“ versija tampa pagrindine „Windows 95 OSR2“ sudedamąja dalimi.
„DirectX“ tinkle randame keletą nepriklausomų API, tokių kaip „ Direct3D“, kuri iš tikrųjų yra nagrinėjama, „DirectDraw“, „DirectMusic“, „DirectPlay“ ir „DirectSound“. „DirectX“ buvo būdas įvardyti bendrus visų šių sub-API pasiekimus. Tai yra „Windows“ API, tačiau ji taip pat naudojama žaidimams kurti savo „Xbox“ konsolėse, todėl galime tai laikyti „Multiplatform“ API, bet ne nemokama, kaip tai daroma „Vulkan“ atveju.
Naujausia jos „ DirectX 12“ versija buvo su mumis nuo 2014 m. Ir nestovi vietoje. Prieš keletą mėnesių ji gavo svarbių patobulinimų, tokių kaip „ Direct RayTracing“ (DXR) paprogramė, įtraukta į „Windows 10“ 1809 metų spalio atnaujinimo versiją.
Žemo lygio API, tokios kaip „ DirectX 12“, turi esminį pranašumą - tai sumažina vairuotojo išlaidas. Programuotojams dabar suteikiama teisė nustatyti, kaip GPU elgsis jų programose, ir galėtų geriau valdyti GPU išteklius, ypač pasinaudodamas proceso lygiagrečiosiomis galimybėmis. Tai apima geresnį kelių GPU palaikymą vienoje sistemoje, net jei jie nėra iš to paties gamintojo.
Jie gali atlikti įvairių tipų operacijas, dažniausiai „sveikasis skaičius“ arba „slankiojo kablelio“ galimybes, naudodamiesi suderinamos grafikos galimybėmis, taip pat padalydami sudėtingas operacijas į paprastesnes, apdorodami jas lygiagrečiai tuose didesniuose autobusuose. Puikus pavyzdys yra tai, kaip AMD arba „Nvidia“ dabar gali apdoroti 16 bitų operacijas 32 bitų magistralėse, iš esmės pagerindamos jų grafikos efektyvumą.
Ši API priartino konsolinio GPU naudojimo efektyvumą, kur kūrėjai puikiai žino turimą aparatinę įrangą iki nevienalytės ekosistemos, kuri sudaro asmeninio kompiuterio su begalinėmis skirtingomis aparatinės įrangos galimybėmis.
Šiuo metu „DirectX 12“, siurprizu, galima rasti „Windows 7“ ir „Windows 10“ ir, nors ji nėra tiesiogiai suderinama su „Xbox One“, tiesa ta, kad praktiškai 90% jos funkcijų yra naudojama kompiuteriui, skirtumai yra minimalūs ir tai leido kūrėjai greitai pritaikė savo kompiuterinius žaidimus „Xbox One“ ir atvirkščiai.
Khronos „Vulkan“
„Vulkan“ yra evoliucija į žemo lygio „ OpenGL“ API ir palaikoma „Khronos“ korporacijos. Kompiuterių pasaulyje jie vaidina antrinį vaidmenį, palyginti su „DirectX 12“, tačiau dėl skirtingo pritaikymo skirtingoms platformoms, tokioms kaip „Android“, tai tapo mobilumo grafikos etalonu. Tai taip pat suderinama su „Linux“ - puikia žaidimo alternatyva laisvose sistemose.
Didelė jo dorybė yra didelis lygiagretaus apdorojimo pajėgumas, nes jis yra ypač efektyvus šiuolaikiniuose procesoriuose ir GPU, todėl ankstesniųjų naudojimas yra mažas, o pastarųjų aparatinė įranga - puiki. Jis yra specialiai sukurtas siekiant naudoti kelių branduolių procesorius, užtikrinančius puikų apkrovos paskirstymą tokio tipo procesoriuose. Tiesą sakant, jis yra daug efektyvesnis, nes daugiau branduolių galime suteikti.
„Vulkan“ istorija siekia metus po to, kai „DirectX 12“ ir „Khronos“, kuri yra ne pelno įmonė, palaiko ją taip pat dažnai arba dažniau, nei „Microsoft“ daro su savo API. Jis grindžiamas API mantija, kurią AMD sukūrė savo GCN architektūrai, ir tai buvo dar viena žemo lygio API, skirta mažesnei „pridėtinėms tvarkyklėms“. AMD savo kūrinius paaukojo „Khronos“ ir tai yra vienos geriausių grafinių API sąsajos rinkoje pagrindai.
Be aukščiausio lygiagretumo, ši konstrukcija taip pat leidžia iš anksto kompiliuoti GPU ekrano veikimo operacijas, kad būtų galima turėti daugiau efektų ir didesnio įkėlimo greičio ekrane, be to, kad būtų galima išsamiau pakoreguoti, kaip aparatūra apdoroja operacijas ar kaip mes pasiekiame prieinamas rėmo buferis. Be abejo, asmeninio kompiuterio API yra arčiausiai pačios aparatūros, netgi geriau nei „DirectX 12“.
„Vulkan“ taip pat pristato žemo lygio API patobulinimus „Android“ ir kitose platformose.
Naujausia jos versija, „Vulkan 1.1“, pristatyta 2018 m. Pabaigoje, prideda svarbių patobulinimų, tokių kaip HLSL palaikymas, kuris yra „DirectX 12“ alternatyva šešėlių operacijų valdymui be išankstinio kompiliacijos, geresnis suderinamumas su „DirectX 12“ (prie daugelio jo paprogramių). be grafikos), aiškų daugia GPU sistemų palaikymą, nepriklausomai nuo gamintojo, ir, žinoma, „RayTracing“ palaikymą.
„DirectX 12“ ir „Vulkan“ stipriosios ir silpnosios pusės
Be jau aprašytų bendrų funkcijų, tokių kaip geresnis aparatinės įrangos naudojimas, didesnis jos valdymas ir geresnis GPU ir CPU lygiagrečių pritaikymas, šios dvi API taip pat suteikia galimybę atlikti bendras skaičiavimo operacijas naudojant grafikos lustus su kurie yra suderinami. Tai leidžia suderinamus, jau kelioms kartoms priklausančius grafikos variklius, atlikti sudėtingas matematines operacijas, kurias gali išnaudoti visų rūšių programos, įskaitant tas, kurios neturi grafinių komponentų.
Žaidimuose jie taip pat gali būti naudojami vis svarbesnėms antrinėms operacijoms, tokioms kaip realios fizikos skaičiavimas, dirbtinis intelektas, padėties garso efektai ir kt.
Abi API labai palaiko daugybė grafikos elementų, tiek „AMD“, tiek „Nvidia“ stengiasi pasiūlyti šioms API tinkamas tvarkykles, kad abi jų vartotojams pasiūlytų naujausius patobulinimus ir sustiprintų žaidimų, kuriuose naudojamas vienas, našumą ir stabilumą. arba kitą API.
Abiejų „vairuotojo virš galvos“ yra labai mažai, kaip matysite mūsų bandymuose beveik nėra skirtumų tarp jų, o tai taip pat rodo svarbų abiejų gamintojų vairuotojų optimizavimą.
Mes apribojome kadrų dažnį iki 120 kadrų per sekundę, kad galėtumėte parodyti „Driver Overhead“ demonstracinę versiją. Taikant tą patį FPS, „Dota 2“ procesoriaus sunaudojimas žymiai sumažėja.
Vienintelis akivaizdesnis skirtumas yra tas, kad „ Vulkan“ yra šiek tiek mažesnė priklausomybė nuo procesoriaus, mažesnis vidutinis suvartojimas, be to, jis yra daug atviresnis skirtingoms platformoms, įskaitant „Windows“ ir „Linux“, ir jo homogenizavimui su „OpenGL ES“, kuri yra jo mobilioji versija, tai jau pakeliui suvienija platformas, kuriomis juda.
„DirectX 12 “ palankiai vertina tai, kad kūrėjai, kuriems atrodo, kad šioje API yra nepriekaištinga ekosistema, kad sumažintų jų sąnaudas, nes ji netgi puikiai integruota tokiose sistemose, kaip plačiai paplitusi kaip.NET Framework, kurioje integruota tūkstantis stebuklų. mažai prarandant našumą.
Žaidimų su dviguba API našumo skirtumai
Kadangi judesys demonstruojamas vaikščiojant, mes atlikome keletą našumo testų su skirtingais žaidimais ir etalonais, kurie turi galimybę naudoti šias dvi API vykdymui.
„3DMark“ vairuotojo galvų bandymas. Rezultatai yra milijonai užklausų, daugiau yra geriau.
Išskirtinumo pelenai. Rezultatai FPS, daugiau yra geriau.
Keista brigada. Rezultatai FPS, daugiau yra geriau.
Apibendriname geriausius aparatūros vadovus, kurie turėtų jus sudominti:
- Geriausi procesoriai rinkoje Geriausios pagrindinės plokštės rinkoje Geriausia RAM atmintis rinkoje Geriausios vaizdo plokštės rinkoje Geriausi SSD diskai geresni važiuoklės ar kompiuterio dėklai geresni maitinimo šaltiniai geresnės šiluminės skydų ir skysčių aušintuvai
Kaip matote, rezultatai yra lygūs ir matome skirtumų tarp programų, skirtų „prieš“ ir „prieš“. Tai mums palieka klausimą, kuris yra geresnis, o atsakymas aiškus, priklauso nuo programos ir nuo to, kaip jos kūrėjas žino ar nori pasinaudoti jos pranašumais. Belieka galvoti, kad kiekviename žaidime kūrėjai tiksliai naudos API, kuri geriausiai išnaudoja mūsų grafikos pranašumus, nors akivaizdu, kad abi parinktys atrodo daugiau nei kompetentingos. Ką jūs galvojote apie mūsų straipsnį apie „ Directx 12 vs Vulkan“ ? Mes norime sužinoti jūsų nuomonę!
Naujojo 3 nušalimo grafikos variklio potencialas.
Naujas „Frostibe 3“ grafikos variklio potencialas parodytas vaizdo įraše.
▷ Mes ieškome geriausio nuotraukų žiūrinčiojo [2018]
Šiandien mes ieškome geriausios nuotraukų peržiūros programos „Windows 10“: pateiksime jums sąrašą su geriausiomis programomis pagal jūsų pageidavimus
Rusija skiria baudas „Google“ už tai, kad iš savo paieškos variklio nepašalino uždraustų svetainių
Rusija skiria „Google“ baudą už tai, kad nepašalino uždraustų svetainių iš savo paieškos variklio. Sužinokite daugiau apie šią baudą įmonei.