AMD punta sulla VR con l'Asynchronous Reprojection

L'Asynchronous Reprojection è una tecnologia implementata da AMD che migliora la consistenza della scena virtuale: vediamo come funziona.

AMD punta sulla VR con l'Asynchronous Reprojection
Articolo a cura di

Il 2017 è un anno cruciale per AMD, su tutti i fronti. Con l'arrivo delle nuove CPU della famiglia Ryzen e con la progettazione e la messa sul mercato di Vega, la società di Sunnyvale vuole ritornare ai fasti di un tempo, ma è chiaro che conquistare il cuore dei clienti non passa esclusivamente per l'hardware. Sulla base dello sviluppo di nuovi campi tecnologici, come per esempio può essere quello della realtà aumentata e della realtà virtuale, gli occhi devono essere puntati verso più orizzonti, in maniera tale da essere competitivi a 360 gradi. Non dimentichiamo poi la volontà dell'azienda americana di buttarsi a capofitto anche nel settore server per contrastare la dominazione dei processori Xeon di Intel. Tornando però alla realtà virtuale, AMD sta sviluppando tutta una serie di feature che vogliono rendere più semplice la vita agli sviluppatori, dando poi all'utente finale un'esperienza più fluida, più fedele alla realtà e meno impacciata. L'Asynchronous Reprojection serve proprio a questo, scopriamo cos'è.

Asynchronous Reprojection su HTC Vive

L'Asynchronous Reprojection è una tecnologia a supporto della realtà virtuale che si potrà sfruttare attraverso un visore HTC Vive unito a una scheda grafica AMD Radeon. Asynchronous Reprojection è un nome totalmente nuovo nel campo, ma il nucleo su cui si fonda questa caratteristica non è poi così innovativa. Essa può infatti essere considerata come analoga all'Asynchronous Timewarp, feature presente in esclusiva su Oculus Rift e che è stata annunciata circa un anno fa.
Il concetto chiave dell'Asynchronous Reprojection è quello di effettuare una riproduzione dell'ambiente facendo combaciare le informazioni di un frame vecchio e di un frame attuale, al fine di generare un frame futuro (in tempo reale). In sostanza, viene effettuata una specie di stima confrontando due frame successivi nel tempo, col primario scopo di abbassare la latenza. Andare infatti al di là di un margine può causare nell'utente il cosiddetto motion sickness, un effetto che causa nausea e mal di testa. In sostanza, se un determinato frame non riesce ad essere calcolato in tempo dalla scheda grafica allora al suo posto viene utilizzato il frame stimato grazie all'Asynchronous Reprojection, così che i vincoli di latenza possano essere soddisfatti anche a monte di una potenza computazionale lato GPU non ideale.

Richiesta una GPU ancora più potente

Agli albori della nascita delle prime applicazioni virtuali, tale tecnica era già utilizzata per prevenire proprio il motion sickness, seppur in una variante meno articolata: anziché infatti mostrare a schermo il frame stimato tramite un'operazione fra quello corrente e quello immediatamente precedente, sul display veniva proiettato semplicemente questo secondo frame; il risultato era una scena esplicitamente non coerente che non riduceva quasi per nulla i problemi.

Utilizzare quindi l'Asynchronous Reprojection richiede una scheda grafica più potente della norma, ed affidarsi ad una GPU di qualità e d'obbligo. Effettuare infatti una specifica operazione, frame per frame e in tempo reale, è computazionalmente molto oneroso, ma il vantaggio però è quello di mostrare a schermo una scena molto più consistente. La capacità di calcolo necessaria aumenta con l'innalzarsi della risoluzione, il cui numero di pixel più elevato fa ovviamente lievitare il numero di operazioni da compiere, stessa cosa incrementando il refresh rate. Con una frequenza d'aggiornamento di 60 Hz non possono essere mostrati a video più di 60 frames per secondo (almeno senza tearing). Se il refresh rate aumenta però ad esempio a 90 Hz, allora in un dato secondo verranno mostrati il molti più frame, con la ovvia ovvia conseguenza di un carico maggiore sulla GPU.

AMD Asynchronous Reprojection è una tecnologia che può aiutare molto nell'abbattimento del motion sickness, anche se non è chiaramente una feature ideale. Essa si basa pur sempre su una stima, che per quanto accurata possa essere non riuscirà mai a raggiungere il risultato di un frame mostrato correttamente e nei limiti di latenza. Se però, dopo un movimento repentino della testa dell’utente che magari fa cambiare completamente la scena di gioco, la scheda grafica non riesce a calcolare la nuova vista in tempo utile allora l’Asynchronous Reprojection è certamente fondamentale.