Raccomandato, 2024

Scelta Del Redattore

API Vulkan: tutto ciò che devi sapere

Se ti piace tenere un registro sulle ultime tecnologie, devi aver sentito parlare di Vulkan. L'API Vulkan è l'ultima e la più grande delle API grafiche, annunciata da Khronos Group, che sono le persone dietro l'attuale standard del settore OpenGL. Il nome del progetto Vulkan è stato ufficialmente annunciato alla Game Developers 'Conference nel 2015 e la prima versione dell'API è stata lanciata a febbraio 2016. La nuova API è finalizzata a portare la grafica di gioco al livello successivo, quindi se sei interessato dettagli, siamo qui per dartelo.

Discutiamo di cosa sono le API Vulkan, come sono diverse dal suo predecessore OpenGL e come le API Vulkan potrebbero cambiare il modo in cui i giochi e altre applicazioni grafiche ad alto sviluppo verranno sviluppate nel prossimo futuro. Continua a leggere per esplorare questo entusiasmante sviluppo nel mondo del rendering e della grafica.

Cos'è l'API Vulkan?

Un paio di anni fa, AMD ha sfoderato Mantle, API che si proponeva come target per i giochi 3D e, mentre mostrava la promessa di essere una soluzione più snella per il rendering della grafica, AMD ha eliminato il progetto. Successivamente, AMD ha fornito i componenti dell'API Mantle a Khronos Group per sviluppare un'API standard per il rendering. Bene, il risultato è la nuova API Vulcan.

L'API Vulkan è un'API di rendering overhead che può utilizzare meglio le CPU multi-core che sono onnipresenti in questi giorni e fornirà anche programmi con un accesso più diretto alla CPU e alla GPU del sistema. È anche agnostico del sistema operativo. Ciò significa che le applicazioni che utilizzano le API Vulkan saranno facilmente trasportabili.

Essendo noi stessi appassionati di giochi e di giochi, abbiamo deciso di dare uno sguardo al futuro di come i giochi verranno sviluppati presto e di come (se del caso) migliorerà la nostra esperienza di gioco.

Caratteristiche

L'API Vulkan ha un sacco di funzioni che lo rendono diverso e migliore rispetto al suo predecessore OpenGL:

1. L'API Vulkan tenta di bilanciare i carichi di elaborazione in modo uguale tra ogni core in un ambiente multi-core. Ciò significa che ogni core del processore viene utilizzato, massimizzando quindi l' efficienza .

  • Ciò farà una differenza molto evidente nel rendering di grafica che richiede molte chiamate di disegno.
  • Con le API legacy, il più delle volte, la CPU è un collo di bottiglia. Tuttavia, Vulkan mette le CPU multi-core a un così buon uso, che è più probabile che nella GPU si trovi un collo di bottiglia.

2. L'API Vulcan offrirà l'accesso diretto alla GPU, che eviterà inutili spese generali di accesso alla GPU per le chiamate di estrazione e altre funzionalità della GPU.

  • Ciò significa che i giochi più pesanti ora non saranno così intensi per la CPU come sono attualmente. Inoltre, i conducenti svolgeranno un ruolo minore nel fornire l'accesso alla GPU, rendendo il trasferimento delle informazioni molto più veloce.

3. L'API è inoltre progettata per essere completamente multipiattaforma .

  • Niente più API di ramificazione per cellulari, desktop e console. Le API Vulkan saranno le stesse su tutti i dispositivi con una GPU compatibile.

4. Mentre OpenGL ha tenuto nascosto l'utilizzo e la sincronizzazione della memoria della GPU, Vulkan espone questo e offre agli sviluppatori un controllo ancora migliore sulla GPU e su come viene utilizzata.

  • Vulkan consente agli sviluppatori di controllare il modo in cui la GPU formatta le trame, gestisce la memoria ed esegue la sincronizzazione.
  • Tuttavia, nasconde ancora informazioni sufficienti per mantenere la compatibilità multipiattaforma .

5. Vulkan utilizza il linguaggio intermedio SPIR-V per il calcolo parallelo e la grafica. SPIR-V, come i suoi predecessori, SPIR1.2 e SPIR2.0, è stato sviluppato dal Gruppo Khronos, con la differenza che SPIR-V non usa LLVM. SPIR-V consente a Vulkan di avere un compilatore front-end comune su ogni piattaforma. Gli sviluppatori inoltre non hanno bisogno di spedire il kernel, il codice shader e l'implementazione del driver è semplificata.

Come Vulkan potrebbe aiutarci come utenti finali

L'API Vulkan, quando implementata al massimo delle sue potenzialità dagli sviluppatori, può migliorare drasticamente l'esperienza di gioco dell'utente finale (ovvero tu ed io!). Pensa a grafici a livello di console su dispositivi mobili, magari anche grafici di qualità desktop per ammiraglie di alto livello con processori competenti!

1. Dato che la maggior parte dei SoC mobili in questi giorni sono anche multi-core, Vulkan utilizzerà i processori nella massima misura possibile, rendendo i giochi più fluidi (FPS più alti).

2. Inoltre, dal momento che Vulkan fornisce un accesso a basso overhead alla GPU del dispositivo, significa che i giochi saranno ora in grado di ridurre il tempo necessario per ottenere l'accesso alle risorse della GPU in larga misura. Ancora una volta, questo si traduce in una grafica migliore a frame superiori al secondo, sfruttando al massimo le capacità della GPU .

3. Anche se le funzionalità multipiattaforma, rendendo la portabilità per i giochi più semplice, potrebbero non influire direttamente su di te come utente finale, significa che i tuoi giochi preferiti e le applicazioni grafiche intensive potrebbero essere disponibili su quasi tutte le piattaforme . Le possibilità sono infinite e limitate solo dalla nostra immaginazione.

4. I giochi saranno anche in grado di garantire prestazioni più fluide garantendo che la GPU presta maggiore attenzione (leggi: alloca più memoria e dà la preferenza a) a cose che sono immediatamente visibili all'utente, rendendo il gioco più immune da ritardi e frame drop .

Opzioni per gli sviluppatori

Mentre un'API di basso livello per la grafica è indubbiamente una buona idea, non è un'attrazione evidente per tutti gli sviluppatori, specialmente per quelli nuovi. Programmare a un livello più basso, più vicino al livello hardware, richiede un po 'più di abilità rispetto alla programmazione a un livello superiore, che è più astratto. Questo non è assolutamente uno shock. È abbastanza ovvio, ed è esattamente il motivo per cui gli sviluppatori avranno tre diverse opzioni su come utilizzare Vulkan per i loro progetti di sviluppo.

1. Utilizzare direttamente l'API Vulkan

  • Ciò fornirà l'accesso di livello più basso all'hardware e ovviamente non sarà una scelta per tutti. Tuttavia, questo livello può essere utilizzato per creare strumenti di benchmarking per altre applicazioni sviluppate utilizzando Vulkan.

2. Utilizzare le librerie

  • Probabilmente l'opzione più valida per gli sviluppatori che stanno passando da OpenGL a Vulkan.
  • La maggior parte delle librerie sarà open source, quindi gli sviluppatori che hanno esperienza nello sviluppo usando OpenGL possono provare a trasferire le loro applicazioni OpenGL all'API Vulkan con relativa facilità, piuttosto che dover fare una revisione completa o partire da zero.

3. Usa i motori di gioco ottimizzati con Vulkan

  • Siamo sicuri che questo è il punto in cui la maggior parte degli sviluppatori entrerà. I motori di gioco sono progettati e sviluppati da esperti del settore, esperti e consolidati e possono essere utilizzati facilmente dagli sviluppatori (esperti e principianti) per creare giochi che sfruttano i vantaggi offerto dall'API Vulkan.
  • Sviluppatori come Epic Games (Unreal Engine) e Unity (Unity Engine) hanno già annunciato il supporto Vulkan nei loro motori in arrivo, e molti altri hanno annunciato piani per seguire.

VEDERE ANCHE: Capire APFS: il nuovo file system di Apple

Get Excited!

Nel caso in cui l'articolo non ti convincesse ... emozionarsi! Adesso! Vulkan promette di essere il tipo di sviluppo pionieristico nelle API grafiche che miglioreranno le nostre vite di gioco. Esistono già video di confronti tra le prestazioni di Vulkan e OpenGL, ei risultati sono - semplicemente stupefacenti. Se questi video sono indicativi, preparati a sperimentare un'incredibile qualità grafica ovunque, compresi i tuoi cellulari, tutto grazie all'arrivo dell'API Vulcan!

Quindi, cosa ne pensi di Vulkan? Pensi che sarà un grande miglioramento rispetto all'attuale standard OpenGL? Fateci sapere nella sezione commenti qui sotto.

Top