Sincronizzazione verticale si o no: ovvero fedeltà o reattività?

Sincronizzazione verticale si o no: ovvero fedeltà o reattività?

L'altro giorno con Dorin si discuteva a proposito dell'opportunità di abilitare o meno la sincronizzazione verticale in un videogioco. Al di là delle considerazioni tecniche, la questione pone però molte più riflessioni "filosofiche" di quanto si possa credere.

di Dorin Gega, Rosario Grasso pubblicato il nel canale Videogames
 

Qui Rosario

La sincronizzazione verticale, altrimenti detta vsync, è un concetto tecnico in cui ogni videogiocatore prima o poi si è imbattuto. Come ben noto, in condizioni normali, ovvero senza sincronizzazione verticale abilitata, la GPU processa il maggior numero di frame per secondo possibile, e quindi potrebbe creare anche più frame di quanti effettivamente ne servano.

V-Sync

La sincronizzazione verticale, invece, sincronizza il numero di frame con la frequenza di aggiornamento del monitor. Se la frequenza di aggiornamento del monitor è 60 hz, ad esempio, vuol dire che l'immagine sullo schermo viene aggiornata 60 volte in un secondo. Senza vync abilitato, quindi, si corre il rischio di avere più di un frame durante lo stesso refresh, con conseguente comparsa dell'effetto di tearing, ovvero di un "taglio" nell'immagine stessa.

Sostanzialmente quello che fa la sincronizzazione verticale è aspettare il refresh dello schermo successivo per abbinargli uno dei frame già processati. Ma nel momento in cui si trova a disporre di un numero maggiore di frame, semplicemente, cestina alcuni di loro. Sarebbe interessare approfondire il senso del verbo "cestinare" in questo caso: come fa a stabilire, insomma, quali frame buttare e quali mantenere?

Dipende più dai driver della scheda video che dal motore grafico del gioco, ma con ogni probabilità la GPU fa semplicemente una selezione casuale. Quello che ci interessa in questo editoriale, però, è sottolineare come alcuni frame, che comunque sono stati calcolati dalla GPU e corrispondono a certe azioni fatte dal giocatore, vengano buttati, annullati completamente.

Cancellare alcuni frame vuol dire che, anche se a livello infinitesimale, una parte dell'interazione del giocatore viene allo stesso modo cancellata, con la conseguenza che l'operato del giocatore non risulta riprodotto in maniera completamente fedele. Inoltre, visto che il motore grafico deve aspettare qualche millesimo di secondo per associare fotogramma a refresh rate, il processo produce anche quello che i giocatori chiamano "input lag". Ovvero la propria azione viene riprodotta su schermo con qualche istante di ritardo.

È chiaro che la sincronizzazione verticale a 60hz produce un input lag piuttosto ridotto, mentre il vsync a 30 hz crea un input lag che il giocatore percepisce in maniera più sensibile. Quest'ultimo è soprattutto il caso delle console, che in pochissimi casi riescono a riprodurre le immagini con un frame rate di 60 fps, e sono così costrette a "cappare" a 30 fps onde evitare la creazione dell'effetto di "taglio". Ce ne siamo già occupati in passato: in certi casi si può avere un input lag anche di 150 ms.

Perdi qualche millesimo qui qualche millesimo là, e alla fine ti ritrovi con un input lag notevole, anche perché quest'ultimo dipende da altri fattori che vanno al di là modo in cui vengono visualizzati i frame. Si tratta di un discorso a cui tiene molto soprattutto chi gioca online, perché la sua reazione viene misurata in termini di latenza della connessione a internet, oltre che di input lag.

Ma d'altra parte, avere troppi frame vuol dire anche avere più di un fotogramma durante lo stesso refresh rate. In queste condizioni il motore grafico non è in grado di riprodurre il mondo di gioco in maniera fedele, alterandone la sua composizione di base. Avremo immagini ondulate, disallineamento e tagli, che danno parecchio fastidio a chi invece preferisce immergersi nella realtà virtuale, e tende a trascurare, invece, in parte, la riproduzione precisa dei suoi movimenti.

In realtà stiamo andando incontro a un problema in qualche modo sotterraneo del mondo dei videogiochi: c'è sempre stato anche se spesso non ci si pensa abbastanza. Da qualche parte la coperta risulterà, infatti, troppo corta. Vogliamo che i nostri movimenti siano riprodotti con precisione o vogliamo che il mondo di gioco sia riprodotto in maniera fedele?

Ed è una dicotomia che va al di là del polarismo single player/multiplayer nella misura in cui anche nel single player l'utente ha bisogno che i suoi movimenti vengano riprodotti in maniera accurata, soprattutto nelle fasi più ostiche, in cui bisogna intervenire con un certo tempismo e con una certa velocità per risolvere enigmi, per combattere, per interagire con sequenze di narrazione, e così via.

Più che altro il polarismo si traduce in una dicotomia che abbiamo già analizzato in passato, e che torna ancora una volta perché riguarda l'essenza stessa del videogioco. Da una parte, il videogioco è infatti interazione, sfida, ma dall'altra è emozionalità, esperienza. Posso, da una parte, pretendere che le mie azioni siano riprodotte nel migliore dei modi, e che tutti i frame processati dalla scheda video mi vengano in qualche modo restituiti; ma dall'altra volere che il mondo alternativo a cui il videogioco mi sta "consegnando" sia riprodotto fedelmente, così come l'autore originale l'ha pensato, anche se questo comporta la perdita, anche se infinitesimale, di una parte del mio giocato.

Una dicotomia che difficilmente riesce a risolversi, e che pone il media videoludico su due estremità inconciliabili, lasciando alla sensibilità di ognuno il compito di decidere quale estremità debba prevalere.

 
^