AMD LiquidVR e Nvidia VrWorks

Si parla spesso di realtà virtuale come tecnologia, ma per garantire un'esperienza di alto livello è necessario agire su più fronti. Ecco le basi della realtà virtuale, una sorta di glossario per nerd.

Avatar di Tom's Hardware

a cura di Tom's Hardware

AMD LiquidVR

LiquidVR è un pezzo separato di codice e gira su piattaforma Mantle secondo Richard Huddy, chief gaming scientist di AMD. Mantle è una API AMD proprietaria che fornisce accesso più rapido e profondo all'architettura grafica Radeon rispetto alle DX 11.

liquidvr logo

Mantle e LiquidVR danno pieno accesso alla funzionalità asynchronous compute engine (ACE) di AMD. Lo stream processor è visto come uno slot per elaborare un singolo comando. Nelle vecchie GPU questi comandi erano gestiti in modo sequenziale. Di conseguenza la Radeon HD 7970 con 2048 shader vede raramente usati tutti gli SP completamente.

L'architettura ACE consente di gestire differenti comandi allo stesso tempo e riempire quei vuoti. Quando sono disponibili stream processing non usati, i comandi vi passano attraverso, se necessario. La GPU può così gestire operazioni di calcolo mentre lavora sulla grafica, senza perdere prezioso tempo di calcolo.

fig17

Con configurazioni CrossFire (multi-GPU), ogni scheda video dovrebbe alternarsi i frame. Questo modus operandi però non funziona bene quando un'immagine è divisa tra gli schermi in un visore VR. LiquidVR può suddividere realmente le responsabilità di goni scheda - una GPU per l'occhio sinistro e l'altra per quello destro. L'API di AMD rende inoltre possibile comunicare direttamente al visore senza bisogno di un SDK separato come Oculus VR o Razer OSVR.

Nvidia GameWorks VR / VRWorks

Nvidia GameWorks VR, oggi noto come VRWorks, è una API che ricorda più una serie di tecniche e caratteristiche che aiutano gli sviluppatori a ottenere di più dalle GPU per scopi di realtà virtuale. In precedenza, abbiamo parlato di Asynchronous Timewarp. In VRWorks Asynchronous Timewarp è reso disponibile a livello driver. Similmente alla piattaforma LiquidVR, Nvidia offre anche VR SLI, il che significa che i PC con più schede video saranno in grado di renderizzare simultaneamente le schermate sinistra e destra, favorendo un'esperienza migliore.

NV VRWORKS

È però con la tecnologia multi-resolution shading che Nvidia propone la cosa più interessante. I visori come Oculus Rift e HTC Vive richiedono che sia inviata al loro schermo una doppia visione ellittica.

Mentre le immagini appaiono strane a occhio nudo sul monitor di un PC, sono formate correttamente per essere visualizzate tramite le lenti del visore. Il centro delle immagini sinistra e destra è denso, e i pixel diventano molto più sporadici e diffusi con l'immagine che si deforma verso l'esterno.

Finora questa distorsione dei pixel era applicata successivamente. Le schede video sfornavano immagini a piena risoluzione con tutta la loro potenza di elaborazione a disposizione, e la deformazione era gestita in fase di post-processing. Questo comportamento è uno spreco perché i pannelli possono fare altrettanto bene con un numero decisamente inferiore di pixel con cui lavorare.

La soluzione di Nvidia è dividere l'immagine in una griglia di finestre 3x3 (viewport). Pensiamo alle finestre (viewport) come segmenti di spazio sullo schermo. Solo il centro della finestra rimane a piena risoluzione o quasi, mentre le finestre circostanti sono renderizzate in un modo simile al warp gestito solitamente in post-processing.

Quando tutto è fatto correttamente, la qualità dell'immagine percepita dell'utente è circa la stessa ma con il 25/50% in meno di pixel in fase di creazione e c'è un aumento nella velocità di rendering dei pixel di 1,3 - 2 volte rispetto al normale. Usando l'Oculus CV1 come esempio, con il rendering multi-shader lo schermo da 2160x1200 avrebbe bisogno dal 30 al 50 percento in meno di potenza per riprodurre contenuti in modo efficace.

Nvidia sta promuovendo anche un concetto chiamato high-priority context. Quando si renderizza tramite le tradizionali DirectX, gli sviluppatori hanno un processo fisso per andare da un punto A a uno B. Nvidia sta aprendo il render path in modo che se emergono cambiamenti imprevedibili come l'head tracking, lo sviluppatore sarà in grado d'intervenire molto più rapidamente.

AMD e Nvidia hanno un'offerta completa, ma l'aspetto chiave è che nessuna rappresenta uno standard formale. Ciò significa che i produttori di giochi e contenuti dovranno supportare due path di sviluppo proprietari per beneficiare di ogni architettura.