Dacă îți place să ții la curent cu cele mai noi tehnologii, trebuie să fi auzit de Vulkan. API-ul Vulkan este cea mai recentă și mai mare dintre API-urile grafice, anunțate de Khronos Group, care sunt oamenii din spatele actualului standard industrial OpenGL. Numele proiectului Vulkan a fost anunțat oficial la Conferința dezvoltatorilor de jocuri din 2015, iar prima versiune a API-ului a fost lansată în februarie 2016. Noul API are scopul de a duce grafica jocului la nivelul următor, deci dacă sunteți interesat de detalii, suntem aici pentru a vi-l oferi.
Discutăm ce este Vulkan API, cum este diferit de predecesorul său OpenGL și cum Vulkan API ar putea schimba modul în care jocurile și alte aplicații cu intensitate grafică sunt dezvoltate în viitorul apropiat. Citiți mai departe pentru a explora această dezvoltare interesantă în lumea randării și a graficii.
Ce este Vulkan API?
Cu câțiva ani în urmă, AMD a arătat Mantle, arendering API care a fost vizat pentru jocurile 3D și, deși s-a dovedit a fi o soluție mai rapidă pentru redarea graficelor, AMD a ucis proiectul. Apoi, AMD a dat componentelor API Mantle Khronos Group pentru a dezvolta un API standard pentru redare. Ei bine, rezultatul este noul API Vulcan.
API-ul Vulkan este un API cu redare redusă, care poate utiliza mai bine CPU-urile multi-core care sunt omniprezente în zilele noastre și va oferi, de asemenea, programe cu acces mai direct la CPU și GPU-ul sistemului. De asemenea, este agnostic pentru sistemul de operare. Aceasta înseamnă că aplicațiile care utilizează Vulkan API vor fi ușor portabile.
Fiind noi înșine jucători și pasionați de jocuri, am decis să aruncăm o privire în viitorul modului în care jocurile vor fi dezvoltate în curând și cum (dacă este cazul) ne va îmbunătăți experiența de joc.
Caracteristici
API-ul Vulkan are o mulțime de caracteristici care îl fac diferit și mai bun decât predecesorul său OpenGL:
1. API-ul Vulkan încearcă să echilibreze încărcările de procesare în mod egal între fiecare nucleu dintr-un mediu multi-core. Aceasta înseamnă că, prin urmare, fiecare nucleu din procesor este folosit maximizarea eficienței.
- Acest lucru va face o diferență foarte vizibilă în redarea graficelor care necesită o mulțime de apeluri.
- Cu API-urile vechi, cel mai adesea, CPU este un blocaj. Cu toate acestea, Vulkan folosește procesoare multi-core la o utilizare atât de bună, încât este mai probabil ca un blocaj să fie găsit în GPU.
2. API-ul Vulcan va oferi acces direct la GPU, care se va asigura că evitați cheltuielile inutile la accesarea GPU pentru apeluri de tragere și alte facilități GPU.
- Aceasta înseamnă că jocurile mai grele nu vor fi acum atât de intensive în procesor, precum sunt în prezent. De asemenea, driverele vor juca un rol mai mic în furnizarea accesului la GPU, făcând transferul de informații mult mai rapid.
3. API-ul este, de asemenea, conceput să fie platformă complet transversală.
- Gata cu API-urile de ramificare pentru telefoane mobile, desktop-uri și console. API-ul Vulkan va fi același pe orice dispozitiv cu un GPU compatibil.
4. În timp ce OpenGL a păstrat ascunsă utilizarea și sincronizarea memoriei GPU, Vulkan expune acest lucru și oferă dezvoltatorilor și mai bine control asupra GPU-ului și modul în care este utilizat.
- Vulkan permite dezvoltatorilor să controleze modul în care GPU formată texturile, gestionează memoria și efectuează sincronizarea.
- Cu toate acestea, ascunde încă suficiente informații pentru a le menține compatibilitate multiplataforma.
5. Vulkan folosește Limbajul intermediar SPIR-V pentru calcul paralel și grafică. SPIR-V, la fel ca predecesorii săi, SPIR1.2 și SPIR2.0, a fost dezvoltat de Khronos Group, cu diferența că SPIR-V nu folosește LLVM. SPIR-V permite Vulkan să aibă un compilator front-end comun pe fiecare platformă. De asemenea, dezvoltatorii nu trebuie să livreze kernel-ul, codul shader, iar implementarea driverului este simplificată.
Cum ne-ar putea ajuta Vulkan ca utilizatori finali
API Vulkan, atunci când este implementat la potențialul său maxim de către dezvoltatori, poate îmbunătăți drastic experiența de joc a utilizatorului final (asta ești tu și eu!) Gândi grafică la nivel de consolă pe dispozitive mobile, poate chiar grafică de calitate pentru desktop pentru flagship-uri high-end cu procesoare competente!
1. Deoarece majoritatea SoC-urilor mobile din aceste zile sunt, de asemenea, multi-core, Vulkan o va face utilizați procesoarele la maximum posibil, făcând jocurile mai ușoare (FPS mai mare).
2. De asemenea, deoarece Vulkan oferă un acces redus la GPU-ul dispozitivului, înseamnă că jocurile vor putea acum să reducă în mare măsură timpul necesar pentru a accesa resursele GPU. Din nou, acest lucru se traduce prin grafică mai bună la cadre mai mari pe secundă de folosind la maximum capacitățile GPU-ului.
3. În timp ce capabilitățile pe mai multe platforme, facilitarea portabilității jocurilor s-ar putea să nu vă afecteze direct ca utilizator final, înseamnă că preferatul dvs. jocurile și aplicațiile cu intensitate grafică ar putea fi disponibile pe aproape orice platformă acolo. Posibilitățile sunt nelimitate și limitate doar de imaginația noastră.
4. Jocurile vor putea, de asemenea, să se asigure performanță mai lină asigurându-vă că GPU acordă mai multă atenție (citiți: alocă mai multă memorie și acordă preferință) lucrurilor care sunt imediat vizibile pentru utilizator, făcând jocul mai imun la întârzieri și caderi de cadre.
Opțiuni pentru dezvoltatori
În timp ce un API de nivel scăzut și redus pentru grafică este fără îndoială o idee bună, nu este o atracție evidentă pentru fiecare dezvoltator, în special pentru cei noi. Programarea la un nivel inferior, mai aproape de nivelul hardware necesită mult mai multă pricepere decât programarea la un nivel superior, care este mai abstractizată. Acest lucru nu este în niciun caz un șocant. Este destul de evident și tocmai de aceea dezvoltatorii vor avea trei opțiuni diferite despre cum să folosească Vulkan pentru proiectele lor de dezvoltare.
1. Folosiți direct API-ul Vulkan
- Acest lucru va oferi accesul la cel mai scăzut nivel la hardware și, evident, nu va fi o alegere pentru toată lumea. Cu toate acestea, acest nivel poate fi utilizat pentru a crea instrumente de benchmarking pentru alte aplicații dezvoltate folosind Vulkan.
2. Utilizați bibliotecile
- Posibil cea mai viabilă opțiune pentru dezvoltatorii care trec de la OpenGL la Vulkan.
- Majoritatea bibliotecilor vor fi open source, astfel încât dezvoltatorii care au experiență în dezvoltarea folosind OpenGL pot încerca să-și porteze aplicațiile OpenGL în API-ul Vulkan cu relativă ușurință, mai degrabă decât să facă o revizie completă sau să înceapă de la zero.
3. Utilizați motoare de joc optimizate cu Vulkan
- Suntem siguri că aici vor intra majoritatea dezvoltatorilor. Motoarele de jocuri sunt proiectate și dezvoltate de către grei bine stabiliți, experimentați, din industrie și pot fi folosiți cu ușurință de dezvoltatori (atât experimentați, cât și începători) pentru a crea jocuri care folosesc avantajele. oferit de API-ul Vulkan.
- Dezvoltatori precum Epic Games (Unreal Engine) și Unity (Unity Engine) au anunțat deja asistența Vulkan în viitoarele lor motoare și mulți alții au anunțat planuri de urmat..
VEZI SI: Înțelegerea APFS: noul sistem de fișiere de la Apple
Te excitat!
În cazul în care articolul nu v-a convins ... excitați! Acum! Vulkan promite să fie genul de dezvoltare inovatoare în API-urile grafice care ne vor îmbunătăți viața de joc. Există deja videoclipuri cu comparații între performanța Vulkan și OpenGL, iar rezultatele sunt - pur și simplu - uimitoare. Dacă aceste videoclipuri sunt vreo indicație, pregătește-te să experimentezi o calitate grafică uimitoare peste tot, inclusiv mobilele tale, toate datorită sosirii API-ului Vulcan!
Deci, ce părere aveți despre Vulkan? Credeți că va fi o mare îmbunătățire față de standardul actual OpenGL? Spuneți-ne în secțiunea de comentarii de mai jos.