▷ Directx 12 vs vulkan: lupta pentru cel mai bun motor grafic?

Cuprins:
- API grafică de nivel scăzut și „Driver overhead”
- Microsoft DirectX
- Vulkan din Khronos
- Punctele forte si punctele slabe ale DirectX 12 fata de Vulkan
- Diferențe de performanță în jocuri cu API dublă
În prezent, în lumea PC-urilor există două API-uri grafice de primă clasă, care gestionează piața cu autoritate. Din acest motiv, vă aducem comparația Vulkan DirectX 12 Vs.
Ambii au o istorie lungă în spatele lor și o întreagă hoardă de apărători și detractori. Astăzi vom vedea diferențele, cheile fiecăruia și vom încerca să oferim puțin lumină asupra lor.
Indice de conținut
API grafică de nivel scăzut și „Driver overhead”
API reprezintă „interfața de programare a aplicațiilor” și este un set de subrutine care pot fi utilizate de un dezvoltator care include, de asemenea, protocoale și utilități de comunicare care facilitează dezvoltarea de software. Le putem găsi pentru aproape orice și este comun ca fiecare furnizor de servicii să aibă acest tip de ajutor pentru a-și implementa sistemele într-un mod simplu și accesibil.
API-urile la nivel scăzut profită mai bine de resursele GPU, scutind procesorul, dar sunt, de asemenea, capabile să profite mai bine de procesoarele multi-core pe care le avem astăzi.
Atât DirectX 12 cât și Vulkan 1.1 sunt API-uri orientate spre dezvoltarea jocurilor și aplicațiilor care necesită asistența motoarelor grafice moderne. În același timp, acestea sunt API-uri suportate de driverele celor mai importanți designeri de chipset-uri grafice și, prin urmare, o modalitate rapidă și economică de a-și accesa caracteristicile fără a fi nevoie să cunoască designul lor la un nivel foarte scăzut.
O API de nivel scăzut, cum ar fi acestea, permite colaborarea cu hardware-ul cu un strat de interpretare foarte ușor, ceea ce permite dezvoltatorului să profite mai bine de hardware, obținând rezultate mai bune din punct de vedere al performanței și eficienței, precum și eliberarea altor subsisteme de încărcare suplimentară. În lumea PC-urilor sau a telefoanelor mobile, aceasta este mai puțin dependentă de procesorul general al sistemului.
Cele două API-uri despre care vom vorbi astăzi pot fi considerate API-uri la nivel scăzut și ambele dezvoltări au dus la o dependență din ce în ce mai puțin de procesorul sistemului, obținând în același timp rezultate mai bune la nivel de performanță și acces la funcții grafice. avanposturi. Sunt două API-uri live care primesc actualizări anual pentru a le menține în linie cu ceea ce așteaptă publicul larg și dezvoltatorii.
API-urile de nivel scăzut au un efect direct asupra unui alt concept de calcul pe care îl cunoaștem ca „driverul deasupra capului”, care este, pe scurt, resursele secundare de care avem nevoie pentru a executa anumite tipuri de operații pe un computer. În cazul graficii, se referă la resursele suplimentare pe care le solicită placa grafică pentru a-și face treaba și, în acest caz, este în mod fundamental timpii procesului central. API-urile de nivel scăzut pe care le vom descrie aici reduc această dependență și, de fapt, dependența are tendința de 0.
Microsoft DirectX
DirectX apare ca o necesitate de a standardiza diferite subsisteme multimedia Windows și este înlocuitorul WinG pentru Windows 3.1. Este adoptat în Windows 95 ca pachet suplimentar, iar cea de-a doua versiune, DirectX 2.0, devine o componentă fundamentală a Windows 95 OSR2.
În DirectX găsim mai multe API independente, cum ar fi Direct3D, care este într-adevăr cel în cauză, DirectDraw, DirectMusic, DirectPlay și DirectSound. DirectX a fost o modalitate de a numi avansuri comune în toate aceste sub-API. Este o API pentru Windows, dar este folosită și pentru dezvoltarea jocurilor în consolele sale Xbox, așa că o putem considera o API Multiplatform, dar nu gratuită, așa cum este cazul Vulkan.
DirectX 12, cea mai recentă versiune a noastră, este alături de noi din 2014 și nu a rămas nemișcată și în urmă cu câteva luni a primit îmbunătățiri importante, cum ar fi subrutina Direct RayTracing (DXR), care a fost inclusă în versiunea de actualizare din octombrie din 1809 din Windows 10.
API-urile de nivel scăzut, cum ar fi DirectX 12, au un avantaj fundamental, care este reducerea aerului aerian. Programatorii sunt acum împuterniciți să proiecteze modul în care se va comporta GPU în programele lor și pot gestiona mai bine resursele GPU, mai ales profitând de paralelizarea proceselor. Aceasta include o mai bună asistență pentru mai multe GPU-uri într-un singur sistem și chiar dacă nu sunt de la același producător.
Acestea pot executa diferite tipuri de operații, de obicei „întregi” sau „punct flotant” profitând de capacitățile grafice compatibile și, de asemenea, împărțind operațiunile complexe în cele mai simple, procesându-le în paralel pe acele autobuze mai mari. Un bun exemplu este modul în care AMD sau Nvidia pot prelucra acum operațiuni pe 16 biți pe autobuzele lor pe 32 de biți, îmbunătățind substanțial eficiența graficii lor.
Această API a adus eficiența utilizării unui GPU de consolă, în cazul în care programatorii cunosc perfect hardware-ul disponibil, de ecosistemul eterogen care alcătuiește un PC cu posibilități hardware diferite.
În prezent, DirectX 12 este disponibil, prin surprindere, pentru Windows 7 și Windows 10 și, deși nu este direct compatibil cu Xbox One, adevărul este că practic 90% din funcționalitatea sa este folosită pentru PC, diferențele sunt minime și asta a permis dezvoltatorii adaptări rapide ale jocurilor lor pentru PC-uri pentru Xbox One și invers.
Vulkan din Khronos
Vulkan este evoluția către API - ul de nivel scăzut al OpenGL și este susținut de Khronos Corporation. În lumea PC-urilor, acestea au un rol secundar față de DirectX 12, dar adaptările sale diferite la diferite platforme, precum Android, au făcut ca acesta să fie un reper în graficele pentru mobilitate. De asemenea, este compatibil cu Linux fiind marea alternativă a jocului în sistemele libere.
Marea sa virtute este marea sa capacitate de procesare paralelă, fiind extrem de eficientă în procesoarele moderne și în GPU-uri, realizând utilizări scăzute ale primelor și o mare utilizare a hardware-ului din urmă. Este special conceput pentru a profita de procesoarele cu mai multe nuclee care obțin o distribuție de încărcare excelentă în acest tip de procesoare, de fapt, este cu atât mai eficient pentru mai multe nuclee pe care le putem oferi.
Istoria lui Vulkan datează de la un an după DirectX 12 și Khronos, care este o companie non-profit, îl menține la fel de des sau mai frecvent decât Microsoft face cu propria sa API. Se bazează pe API-ul Mantle pe care AMD l-a dezvoltat pentru arhitectura sa GCN și care a fost un alt API de nivel scăzut pentru un „driver aerian” redus. AMD și-a donat evoluțiile sale lui Khronos și acestea sunt fundamentele unuia dintre cele mai bune API-uri grafice de pe piață.
În plus față de o paralelizare superioară, acest proiect permite, de asemenea, eliminarea precompilării operațiilor de umbrire pe GPU, putând avea mai multe efecte și pe ecran cu viteză de încărcare mai mare, pe lângă o ajustare mai detaliată a modului în care procesează hardware-ul sau modul în care accesăm tampon cadru disponibil. Cu siguranță API-ul pentru PC este cel mai apropiat de hardware-ul în sine, chiar mai bun decât DirectX 12.
Vulkan introduce, de asemenea, îmbunătățiri API la nivel scăzut pe Android și alte platforme.
Versiunea sa cea mai recentă, Vulkan 1.1, introdusă la sfârșitul anului 2018, adaugă îmbunătățiri importante, cum ar fi suportul HLSL, care este alternativa DirectX 12 la gestionarea operațiunilor shader fără precompilare, o mai bună compatibilitate cu DirectX 12 (la numeroasele sale subrutine în afară de grafică), suport explicit pentru sisteme Multi-GPU, indiferent de producător și, desigur, suport pentru RayTracing.
Punctele forte si punctele slabe ale DirectX 12 fata de Vulkan
Pe lângă caracteristicile obișnuite deja descrise, cum ar fi o utilizare mai bună a hardware-ului, un control mai mare al acestuia și o mai bună utilizare a paralelizării atât a GPU cât și a procesorului, aceste două API adaugă și posibilitatea de a efectua operațiuni generale de calcul cu cipuri grafice cu care sunt compatibile. Acest lucru permite motoarelor grafice compatibile, deja de câteva generații, să poată efectua operațiuni matematice complexe care pot fi exploatate de programe de tot felul, inclusiv cele fără componente grafice.
În jocuri pot fi utilizate și pentru operații secundare din ce în ce mai importante, cum ar fi calcularea fizicii realiste, inteligența artificială, efecte sonore poziționale etc.
Ambele API au un suport deosebit din partea graficilor grafice, atât AMD cât și Nvidia se străduiesc să ofere acestor API-uri driverele adecvate pentru a le oferi utilizatorilor lor cele mai recente îmbunătățiri și pentru a consolida performanța și stabilitatea jocurilor care folosesc unul. sau o altă API.
„Conducerea aerului” a ambelor este foarte mică, de fapt, după cum veți vedea în testele noastre, nu există aproape nici o diferență între ele, ceea ce este și un semn al optimizării importante a șoferilor ambilor producători.
Am limitat framerate-ul la 120FPS pentru o demo a Driver Overhead. În Dota 2 consumul procesorului este redus substanțial cu același FPS.
Singura diferență mai evidentă este că Vulkan are o dependență oarecum mai mică de CPU, cu un consum mediu mai mic și că este, de asemenea, mult mai deschis către diferite platforme, inclusiv Windows și Linux și omogenizarea sa cu OpenGL ES, care este versiunea sa mobilă, ea este pe drum unificarea în continuare a platformelor pe care se deplasează.
DirectX 12 are în favoarea sa o mare acceptare din partea dezvoltatorilor, care par să găsească în această API ecosistemul perfect pentru a-și reduce costurile, deoarece are chiar o mare integrare în cadre la fel de răspândite precum.NET Framework, unde se integrează cu o mie de minuni. cu mici pierderi de performanță.
Diferențe de performanță în jocuri cu API dublă
Deoarece mișcarea este demonstrată prin mers, am efectuat câteva teste de performanță în diferite jocuri și repere care au capacitatea de a utiliza aceste două API-uri pentru execuție.
Testul aerian al șoferului 3DMark. Rezultate în milioane de cereri, mai multe sunt mai bune.
Cenușă de singuratate. Rezultate în FPS, mai mult este mai bun.
Brigăzie ciudată. Rezultate în FPS, mai mult este mai bun.
Rezumăm cele mai bune ghiduri hardware care ar trebui să vă intereseze:
- Cele mai bune procesoare de pe piață Cele mai bune plăci de bază de pe piață Cele mai bune memorii RAM de pe piață Cele mai bune carduri grafice de pe piață Cele mai bune SSD-uri de pe piață Mai bune șasiuri sau carcase pentru PC Surse de alimentare mai bune Radiatoare și lichide de răcire mai bune
După cum puteți vedea, rezultatele sunt uniforme și vedem diferențe între programe pentru și împotriva unuia și celuilalt. Acest lucru ne lasă cu întrebarea care este mai bună și răspunsul este clar, depinde de program și de modul în care dezvoltatorul său știe sau vrea să profite de beneficiile sale. Ceea ce rămâne este să ne gândim că în fiecare joc dezvoltatorii vor folosi cu exactitate API-ul care profită cel mai bine de avantajele graficii noastre, deși este clar că ambele opțiuni par mai mult decât competente. Ce părere ai despre articolul nostru despre Directx 12 vs Vulkan ? Vrem să cunoaștem părerea ta!
Cel mai bun cdn pentru site-ul sau wordpress-ul dvs.: pentru ce sunt ele și pentru ce este folosit?

Vă explicăm care este un CDN și care sunt cele mai bune CDN-uri în prezent. Printre acestea se numără CloudFlare, Amazon AWS / Cloudfront și MaxCDN.
Amd epyc vs xeon: lupta pentru cel mai bun procesor de server

Vă oferim prezentarea anului: Epyc Vs Xeon. Am testat procesoarele de server AMD și Intel. Vrei să-l vezi?
Cel mai bun ghid pentru smartphone: cum să-l alegi pe cel potrivit 【2020】

Aveți îndoieli atunci când alegeți un smartphone? În acest ghid explicăm cheile pentru alegerea unui telefon mobil. Pe lângă faptul că ne vedem recomandările. ✅ ✅