Differenza tra panel resolution e render resolution in VR

0

Tutti noi abbiamo provato almeno una volta ad aumentare la risoluzione dello schermo del computer oltre a quella prevista per il nostro monitor per poi scoprire che il risultato fosse molto peggiore: nel “flat-screen” panel resolution (risoluzione dello schermo) e render resolution (risoluzione della sorgente) idealmente devono essere uguali. Funziona così anche con la VR? Ha senso impostare una risoluzione di gioco più alta di quella nativa del visore?

La risposta breve è sì, ma cerchiamo di capirne i motivi.

Le distorsioni in VR

La differenza fondamentale tra le due situazioni è la presenza di una lente tra il display e l’occhio che distorce l’immagine.

Se nello schermo del visore venisse mostrata una griglia perfettamente quadrata come quella a sinistra di Fig.1, al nostro occhio apparirebbe distorta come nell’immagine a destra di Fig.1.

Questo tipo di distorsione è chiamata “pincushion” (puntaspilli).

Pincushion distortion
Fig.1 Distorsione “pincushion”

 

Per ovviare a questo problema lo strato software (SteamVR, ad esempio) trasforma l’immagine applicando la distorsione opposta (a sinistra in Fig.2): il risultato al nostro occhio, dopo essere passati attraverso la lente, torna ad essere la nostra griglia perfettamente quadrata.

Questa distorsione viene chiamata “barrel” (barile).

Barrel distortion
Fig.2 Distorsione “barrel”

Ogni dispositivo usa un algoritmo di distorsione “barrel” leggermente diverso in base alla forma delle lenti che monta.

Il display

Il display nei visori è uno schermo flat: quadrato o leggermente rettangolare e con una matrice di pixel ortogonale.

Apparirà come in Fig.3: ci saranno degli angoli non utilizzati e quanto visualizzato non corrisponderà assolutamente alla matrice di pixel del display.

Display
Fig.3 Forma del display

 

La risoluzione

Immaginiamo di utilizzare una render resolution (risoluzione della sorgente) uguale alla panel resolution (risoluzione dello schermo del visore) come accade sui display flat (per esempio per Quest 2 di 1832×1920).

Come si può vedere nell’immagine a destra di Fig.4 i settori al centro dello schermo e il loro contenuto saranno dilatati, mentre quelli periferici compressi.

Nella parte centrale l’unità che abbiamo considerato come “singolo pixel” impostando la render resolution uguale alla panel resolution sarà più grande di un pixel fisico del display (140-160% in base all’algoritmo utilizzato per la distorsione).

La risoluzione
Fig.4 La risoluzione

Le lenti

Eccoci arrivati all’ultimo passaggio prima di arrivare al nostro occhio: l’ottica del dispositivo.

La lente ora applicherà la sua distorsione “pincushion” che comprimerà l’area centrale e dilaterà quella periferica (immagine a destra di Fig.2).

A differenza del display che ha una resa “a gradini” a causa della matrice limitata di pixel, la lente, pur riducendo nuovamente la dimensione dei settori centrali, ne lascia percepire la definizione.

Le lenti
Fig.5 Le lenti

Conclusioni

Come abbiamo appena visto, nel mondo VR render resolution e panel resolution non hanno un’associazione 1:1 come succede nel flat.

Questi funzionamenti valgono sia stand alone che PCVR, con la differenza che nello stand alone i parametri sono pre-impostati dal sistema o dal gioco (di quest’ultimo ne è esempio una parte dell’ottimizzazione Red Matter 2 per Quest Pro)

Per quanto riguarda la PCVR la risoluzione della sorgente ideale da impostare va dal 100 al 160% di quella del display del dispositivo.

Chiaramente chi si ritrovasse un mostro di GPU come la RTX 4090 non si dovrebbe neppure porre il problema ed impostare direttamente la render resolution al 160%, ma per tutti gli altri le discriminanti sono:

  • la forma delle lenti (più sono convesse più l’algoritmo dilaterà la parte centrale del display e richiederà un moltiplicativo più alto)
  • la qualità delle lenti (più una lente è di qualità, più si percepirà l’effetto di una maggior render resolution nella parte centrale anche dopo il “pincushion“)

In linea di massima una render resolution del 140% può essere più che sufficiente per qualsiasi GPU se lo possa permettere.

Per portare un esempio pratico: avendo una RTX 3070 (per cui devo comunque fare i conti con le performance) le impostazioni che uso io sono: 100-120% su Quest 2 e 120-140% su Quest Pro (pur avendo la risoluzione praticamente identica la qualità superiore delle lenti del Pro rende molto più evidente una render resolution superiore).

Restate con noi che a brevissimo uscirà un articolo collegato a questo sulle performance PCVR per ogni GPU.