Dacă vă place să păstrați o filă despre cele mai noi tehnologii, trebuie să fi auzit de Vulkan. API-ul Vulkan este ultima și cea mai mare dintre API-urile grafice, anunțate de Khronos Group, care sunt oamenii din spatele standardului OpenGL din industrie. Numele proiectului Vulkan a fost anunțat oficial la Conferința pentru dezvoltatorii de jocuri în 2015, iar prima versiune a API a fost lansată în februarie 2016. Noul API vizează plasarea grafică a jocurilor la nivelul următor, deci dacă sunteți interesat de detalii, suntem aici să vă oferim.
Discutăm despre ce este API-ul Vulkan, cum diferă de predecesorul său OpenGL și cum API-ul Vulkan poate schimba modul în care jocurile și alte aplicații grafice intensive sunt dezvoltate în viitorul apropiat. Citiți mai departe pentru a explora această evoluție interesantă în lumea redării și a graficii.
Ce este Vulkan API?
Cu câțiva ani în urmă, AMD a demonstrat Mantle, disprețuind API-ul care era destinat jocurilor 3D și, în timp ce acesta a dat dovadă de promisiune că ar fi o soluție pentru a face grafică, AMD a ucis proiectul. Apoi, AMD a dat componentele API Mantle grupului Khronos pentru a dezvolta un API standard pentru redare. Rezultatul este noul API Vulcan.
API-ul Vulkan este un API redundant de redare care poate utiliza mai bine procesoarele multi-core care sunt omniprezente în aceste zile și va oferi, de asemenea, programe cu acces mai direct la CPU și GPU-ul sistemului. Este, de asemenea, OS agnostic. Acest lucru înseamnă că aplicațiile care utilizează Vulkan API vor fi ușor portabile.
Fiind pasionați de jocuri și pasionați de joc, am decis să analizăm viitorul modului în care jocurile vor fi dezvoltate în curând și cum (dacă este cazul) vor îmbunătăți experiența noastră în jocuri.
Caracteristici
Vulkan API are o mulțime de caracteristici care o fac diferită și mai bună decât predecesorul său OpenGL:
1. Vulkan API încearcă să echilibreze procesele de încărcare în mod egal între fiecare nucleu într-un mediu multi-core. Acest lucru înseamnă că fiecare nucleu din procesor este pus în uz, maximizând astfel eficiența .
- Acest lucru va face o diferență foarte notabilă în ceea ce privește redarea graficelor care necesită o mulțime de apeluri de remiză.
- Cu API-uri vechi, mai des, procesorul este un obstacol. Cu toate acestea, Vulkan pune procesoarele multi-core la o utilizare atât de bună, încât este mult mai probabil că în loc de GPU se va găsi un blocaj.
2. API-ul Vulcan va oferi acces direct la GPU-ul, care va evita să evite cheltuielile inutile în ceea ce privește accesarea GPU-ului pentru apelurile de remiză și alte facilități GPU.
- Acest lucru înseamnă că jocurile mai grele nu vor mai fi la fel de intensive ca și procesoarele actuale. 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 este, de asemenea, proiectat să fie complet cross-platform .
- Nu mai există aplicații API pentru ramificații pentru telefoane mobile, desktopuri și console. API-ul Vulkan va fi același pe orice dispozitiv cu un GPU compatibil.
4. În timp ce OpenGL a păstrat ascunderea și sincronizarea memoriei GPU, Vulkan expune acest lucru și le oferă dezvoltatorilor un control și mai bun asupra GPU-ului și a modului în care acesta este utilizat.
- Vulkan permite dezvoltatorilor să controleze modul în care GPU formatează texturi, gestionează memoria și efectuează sincronizarea.
- Cu toate acestea, încă ascunde suficiente informații pentru a menține compatibilitatea între platforme .
5. Vulkan folosește limba intermediară SPIR-V pentru calculul paralel și grafica. SPIR-V, ca și predecesorii săi, SPIR1.2 și SPIR2.0, a fost dezvoltat de Grupul Khronos, cu diferența că SPIR-V nu utilizează LLVM. SPIR-V permite Vulkanului să aibă un compilator comun de front-end pe fiecare platformă. De asemenea, dezvoltatorii nu au nevoie să distribuie kernel, cod shader, iar implementarea driverului este simplificată.
Cum Vulkan ne poate ajuta ca utilizatori finali
API-ul Vulkan, atunci când este pus în aplicare la întregul său potențial de către dezvoltatori, poate îmbunătăți experiența utilizatorilor finali (care sunteți voi și eu!) În mod drastic. Gândiți-vă la grafica la nivel de consolă pe dispozitivele mobile, poate chiar grafice de birou pentru platformele de vârf cu procesoare competente!
1. Deoarece majoritatea SoC-urilor mobile în aceste zile sunt de asemenea multi-core, Vulkan va folosi procesoarele cât mai mult posibil, făcând jocul mai fin (FPS mai mare).
2. De asemenea, din moment ce Vulkan oferă un acces redus pe verticală la GPU-ul dispozitivului, înseamnă că jocurile vor putea acum să reducă într-o mare măsură timpul necesar pentru a avea acces la resursele GPU. Încă o dată, acest lucru se traduce la o grafică mai bună la cadre mai mari pe secundă prin utilizarea maximă a capacităților GPU-ului .
3. În timp ce capabilitățile cross-platform, făcând mai ușor transferul pentru jocuri, nu vă pot afecta în mod direct utilizatorul final, înseamnă că jocurile dvs. preferate și aplicațiile grafice intense ar putea fi disponibile pe aproape toate platformele existente. Posibilitățile sunt nesfârșite și limitate doar de imaginația noastră.
4. Jocurile vor fi, de asemenea, capabile să asigure o performanță mai ușoară, garantând că GPU-ul acordă mai multă atenție (citiți: alocă mai multă memorie și preferă) lucrurilor care sunt imediat vizibile de către utilizator, făcând jocul mai imun la decalajul .
Opțiuni pentru dezvoltatori
În timp ce un API cu nivel scăzut de control al graficii este, fără îndoială, o idee bună, nu este o atracție evidentă pentru fiecare dezvoltator, în special pentru cele noi. Programarea la un nivel inferior, mai aproape de nivelul hardware necesită destul de mult mai multă pricepere decât programarea la un nivel mai înalt, care este mult mai abstractizat. Acest lucru nu este în nici un caz un șoc. Este destul de evident și este exact motivul pentru care dezvoltatorii vor avea trei opțiuni diferite privind modul de utilizare a Vulkan pentru proiectele lor de dezvoltare.
1. Folosiți API-ul Vulkan direct
- Acest lucru va oferi accesul cel mai de jos la hardware și, evident, nu va fi o alegere pentru toată lumea. Cu toate acestea, acest nivel poate fi folosit pentru a crea instrumente de benchmarking pentru alte aplicații dezvoltate folosind Vulkan.
2. Folosiți Bibliotecile
- Eventual opțiunea cea mai viabilă pentru dezvoltatorii care se află în tranziție de la OpenGL la Vulkan.
- Majoritatea bibliotecilor vor fi open source, astfel încât dezvoltatorii care au experiență în dezvoltare folosind OpenGL pot încerca să-și distribuie aplicațiile OpenGL la Vulkan API cu ușurință, mai degrabă decât să facă o revizie completă sau începând de la zero.
3. Utilizați motoarele de jocuri optimizate cu Vulkan
- Suntem siguri că aici intră cei mai mulți dezvoltatori. Motoarele de jocuri sunt proiectate și dezvoltate de greve bine stabilite și cu experiență și pot fi utilizate cu ușurință de către dezvoltatori (atât experimentați cât și începători) pentru a crea jocuri care folosesc avantajele oferită de API Vulkan.
- Dezvoltatorii, cum ar fi Epic Games (Unreal Engine) și Unity (Unity Engine), au anunțat deja sprijinul Vulkan în motoarele lor viitoare și multe altele au anunțat planurile de urmărire.
A SE VEDEA, DE ASEMENEA: Înțelegerea APFS: Sistemul de fișiere nou de la Apple
Te excitat!
În cazul în care articolul nu te-a convingat ... fii emoționat! Acum! Vulkan promite să fie un fel de dezvoltare inovatoare în API-urile grafice care ne vor îmbunătăți viața jocurilor. Există deja videoclipuri de comparații între performanța Vulkan și OpenGL, iar rezultatele sunt - pur și simplu - uimitoare. Dacă aceste videoclipuri sunt indiciu, pregătiți-vă să vă bucurați de o experiență uimitoare de grafică de pretutindeni, inclusiv de telefoanele mobile, toate datorită apariției API-ului Vulcan!
Deci, ce crezi despre Vulkan? Credeți că va fi o mare îmbunătățire față de standardul OpenGL actual? Spuneți-ne în secțiunea de comentarii de mai jos.