Categorie
HardwareSoftware

Asynchronous TimeWarp: cos’è, come migliora la VR e quali sono le sue limitazioni

Con la diffusione sempre maggiore delle soluzioni di realtà virtuale sentiremo sempre più parlare di tecniche di rendering volte a ottimizzare le prestazioni in questi casi limite e a contenere il consumo di risorse di elaborazione da parte dell’hardware. Come noto, infatti, per offrire un’esperienza di realtà virtuale gradevole è necessario che il sistema eroghi 90 frame al secondo, renderizzando contemporaneamente due immagini. Il che produce ovviamente tutta una serie di compromessi, tra i quali il cosiddetto effetto judder, ovvero la sensazione che manchino dei frame di collegamento tra le animazioni, rendendo certi passaggi poco fluidi e non correttamente amalgamati, e che si concretizza in una sorta di raddoppiamento dell’immagine come adeguatamente trasmettono i seguenti screenshot.

Lasciando scorrere il mouse sull’immagine potete verificare le storture all’immagine provocate dall’effetto judder

Asynchronous TimeWarp (ATW) è una tecnica volta a generare frame intermedi in quelle situazioni di gioco in cui il motore grafico è incapace a mantenere il frame rate necessario per evitare il palesarsi dell’effetto judder. D’altra parte non è esente da limitazioni, che gli sviluppatori devono conoscere e imparare a gestire, come si può leggere sul sito di Oculus dedicato agli sviluppatori in un interessante documento redatto da Michael Antonov, Chief Software Architect di Oculus VR, e come ha scritto Michael Abrash. Come sa chi ha seguito l’evoluzione della VR, Abrash è uno dei maggiori guru del settore, avendo prima collaborato con Valve per l’approntamento della piattaforma SteamVR alla base di HTC Vive, per poi passare a Oculus VR.

Abbiamo parlato di ATW già in riferimento ai nuovi sistemi di prelazione dell’architettura Pascal, visto che alla base di questa tecnica vi è la corrispondenza tra quanto renderizzato dalla scheda video e le esigenze di visualizzazione al momento del refresh del pannello. ATW, infatti, va a porre rimedio all’incongruenza che si genera tra materiale renderizzato e i dati di tracciamento generati dal movimento della testa dell’utente per via dell’impossibilità del sistema video di rimanere al passo con il carico di lavoro assegnato. Un effetto molto fastidioso perché l’utente percepisce la mancata corrispondenza tra l’input che sta impartendo e ciò che vede all’interno della realtà virtuale, amplificato rispetto al normale stuttering per via del maggiore coinvolgimento che la VR offre.

La tradizionale tecnologia di TimeWarp, dunque, regola l’immagine prima che il display la visualizzi correggendola servendosi dei dati provenienti dal sistema di tracciamento della testa. È definito effetto di post-processing, perché si tratta di regolazione a posteriori rispetto al rendering originale della scena. Allo stesso tempo bisogna tenere conto dell’esigenza di mantenere la sincronizzazione verticale, in modo da evitare il presentarsi di immagini deformate o di tearing, che risulterebbero particolarmente sgradevoli dato, ancora una volta, il livello di coinvolgimento consentito dalla VR.

Effetto judder

Per mantenere la sicronia tra ciò che viene visualizzato sul pannello e la riproduzione dei movimenti sulla base dei dati di tracciamento della testa, Asynchronous Timewarp si serve di un registro in cui tiene costantemente conto dell’ultima posizione della testa. Si tratta di un thread di calcolo separato rispetto alla pipeline di rendering della scheda video. Nel momento in cui il visore ha bisogno di aggiornarsi al fine di mantenere il frame rate prefissato, il runtime va a recuperare l’ultimo dato disponibile nel thread di calcolo di ATW, il che gli consente di ridurre l’effetto judder, di mantenere ai minimi termini la latenza e migliorare la fedeltà visiva.

Come spiegato sul blog di Oculus a cui stiamo facendo riferimento, fino a poco tempo fa c’era molta eccitazione nei confronti di ATW, perché in molti hanno iniziato a pensare che i problemi di prestazioni con la VR potessero essere superati grazie a questa tecnica. Secondo i programmatori, ATW avrebbe permesso ai motori grafici di renderizzare le immagini a un frame rate più basso, pur senza perdere in qualità e fluidità, perché avrebbe generato i frame mancanti per compensare il frame drop e mantenere alta la qualità in VR. Sfortunatamente, però, ci sono una serie di limitazioni intrinseche e sfide tecniche che impediscono ad ATW di rappresentare la soluzione universale per il judder con quei sistemi equipaggiati con tecnologie di tracciamento posizionale come Oculus Rift. In certi casi, anzi, il timewarp judder in VR può essere visivamente ancora più fastidioso del judder tradizionale, nel caso di una moltitudine di frame mancati dal sistema video. Nel blog di Oculus, si esaminano nel dettaglio queste limitazioni, fermo restando il punto che attualmente non ci sono ancora rimpiazzi validi per l’ATW.

Autore: Le news di Hardware Upgrade

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.