1080p30 vs 720p60: perché la next-gen non ci lascia scegliere?
Il Digital Foundry spiega il complicato rapporto tra pixel e fotogrammi.
L'idea è intrigante. Con così tanti titoli per console next-gen che puntano a 1080p e 30 fotogrammi al secondo, perché non offrire la possibilità di giocare invece a 720p60? Dopotutto, la possibilità di scambiare pixel con fotogrammi è stata a lungo parte integrante del gaming su PC, e sia Xbox One che PlayStation 4 sono basati su CPU x86 e architettura grafica Radeon GCN.
L'ipotesi si basa su un semplice concetto: ridurre il fill-rate (il numero di pixel disegnati) libera abbastanza potenza di calcolo per generare più velocemente i fotogrammi e produrre un gameplay più fluido, solitamente con controlli a minor latenza e più precisi. Come tutti sanno, la riduzione di risoluzione è stata uno strumento fondamentale per gli sviluppatori nel far girare i titoli per Xbox One a livelli simili ai loro equivalenti per PS4, e ciò che funziona su PC può funzionare anche su console.
Il rapporto tra pixel e fotogrammi non è però così semplice come molti pensano. Il fill-rate non è l'unico fattore limitante per il frame rate: i colli di bottiglia si verificano in vari punti di ogni motore, non solo all'interno della GPU. È importante precisare che non c'è una relazione lineare tra pixel count e frame rate, la risoluzione è solo un elemento dell'equazione. In pratica non ci sono garanzie che un gioco che punti a 1080p30 possa girare a 720p60 e ci sono buone possibilità che abbassando la risoluzione si incappi in un altro collo di bottiglia prima di raggiungere gli agognati 60fps.
Ciascun fotogramma generato è frutto di una fenomenale quantità di calcoli. Alcuni di essi, come quelli relativi alle geometrie, sono fissi a prescindere dalla risoluzione, e alcuni problemi di frame rate potrebbero non dipendere dal fill rate ma da altri elementi come il vertex shading o intasamenti nel processore della GPU. La situazione fuori dell'ambito della GPU è ancora meno chiara. Potrebbe anche darsi che siano limiti della CPU a rendere impossibile l'ottenimento di un frame rate fluido.
"Battlefield 4 su console next-gen è un buon esempio di come la riduzione della risoluzione possa aumentare il frame rate"
Consideriamo i commenti fatti sul bilanciamento dell'hardware da uno degli Sviluppatori Segreti. Il modo in cui i videogiochi funzionano presuppone generalmente la simulazione della scena da parte della CPU e la sua renderizzazione alla GPU. Porre un obiettivo di 30fps lascia a CPU e GPU 33ms per completare i loro compiti, praticamente un lusso in confronto ai 16ms dei giochi a 60fps.
Scendere da 1080p a 720p potrebbe liberare potenza dal lato grafico dell'equazione ma non c'è assolutamente garanzia che il processore abbia finito di simulare il fotogramma successivo in tempo utile. Ciò creerebbe uno stallo, che nella peggiore delle ipotesi si tradurrebbe in un'immagine peggiore e in una GPU sotto-utilizzata, invece che in un frame rate migliore. Abbiamo visto questa situazione nel PC del Digital Foundry PC, che nel corso del tempo si è rivelato più adatto a gestire i 1080p30 che a mantenere un gameplay a 720p60, come visto principalmente nei test su Spec Ops: The Line. Secondo noi, un semplice passaggio da 1080p30 a 720p60 fatto su console senza ottimizzazioni, produrrebbe risultati simili nella maggior parte dei casi.
Ciò è un serio problema per le console next-gen, visto che le CPU a sei core a disposizione degli sviluppatori non sono esattamente dei mostri di potenza. L'architettura Jaguar di AMD è stata pensata per laptop di fascia bassa e tablet, ma è stata adattata alle console next-gen per il rapporto tra consumo energetico e prestazioni. Un tipico processore per PC da gaming è molto più prestante quanto a capacità di calcolo, quindi lo scambio tra pixel e fotogrammi funziona più frequentemente a causa delle risorse disponibili dal lato CPU.
Per illustrarlo vi riproponiamo alcune immagini dalla galleria della nostra review del Core i7 4770K, in cui abbiamo confrontato il chip Haswell col suo predecessore Ivy Bridge, facendovi girare dei giochi a impostazioni ultra e risoluzione 720p su una GeForce GTX 780, disabilitando l'anti-aliasing.
"Un motivo per cui il PC si comporta così bene nel guadagnare fotogrammi abbassando la risoluzione è che le CPU moderne sono molto potenti, e ciò elimina un potenziale collo di bottiglia"
Quando la GPU è in condizioni di non rappresentare un collo di bottiglia e la simulazione del gioco completamente sbloccata, ci si può fare un'idea di quanta potenza di calcolo latente dal lato CPU sia a disposizione di un PC ben dotato. Battlefield 3, Tomb Raider e BioShock Infinite girano anche a 200fps e oltre. In questo senso, confrontare l'effetto di una riduzione di risoluzione su PC con un potenziale risultato su console potrebbe non essere indicativo del guadagno finale garantito da un simile procedimento, visto che la CPU è più limitata su PlayStation 4 e Xbox One.
Lo sviluppo di videogiochi per console ruota sulla sapiente gestione delle risorse e sul far rendere al massimo un hardware relativamente modesto. Se il controllo del fill-rate da parte dell'utente non è un'idea particolarmente buona, perché non lasciare che se ne occupino i tecnici? Killzone Shadow Fall di Guerrilla Games ne è un eccellente esempio.
Nella modalità single-player, il gioco gira a 1080p con frame rate sbloccato (ma un'opzione per bloccarlo a 30fps è stata introdotta in una recente patch), ma in multiplayer le cose cambiano. In questo caso Guerrilla ha optato per un framebuffer 960x1080 per ottenere un aggiornamento a 60fps. Abbiamo visto in una serie di video come il gioco giri a una media di 50fps in multiplayer. La differenza è palpabile, ma non è il tipo di incremento che ci si aspetta dal dimezzamento del fill-rate.
"Killzone Shadow Fall gira a 960x1080 in multiplayer, con un upscaling di alta qualità. Il fill-rate è ridotto, ma non siamo ancora a is 60fps."
Ci sono alcuni fattori mitiganti all'opera. Shadow Fall utilizza un interlacciamento orizzontale, in cui una colonna di pixel ogni due viene generata utilizzando un upscaling temporale: le informazioni dei fotogrammi renderizzati in precedenza vengono utilizzate per riempire i vuoti. Il fatto che pochi abbiano notato che ci sia un upscaling in effetto è una testimonianza della qualità di quest'ultimo, e possiamo presupporre con una certa sicurezza che non si tratti di un effetto poco esoso in termini di risorse di calcolo richieste. Ciò conferma però allo stesso tempo come una massiccia riduzione del fill-rate non garantisca il raggiungimento dei 60fps. Il frame rate del multiplayer di Killzone Shadow Fall è in effetti molto variabile, anche se la variazione di fill-rate e l'upscaling temporale consumano e permettono di risparmiare una quantità fissa di risorse della GPU. Ciò che impedisce a Killzone di raggiungere i 60fps non dipende dal fill-rate, e in base a quanto abbiamo appreso dal nostro viaggio ad Amsterdam lo scorso anno, siamo abbastanza certi che in questo caso non dipenda neanche dalla CPU.
Gli sviluppatori vogliono che i giocatori abbiano la migliore esperienza possibile, e partire con una visione precisa di come debba girare il gioco rende molto più facili ottimizzazione, assicurazione della qualità e svariati altri compiti. Ottimizzare in vista di un obiettivo fisso ha più senso, specialmente nel caso del multiplayer in cui tutti giocano nelle stesse condizioni. Siamo sicuri che se una modalità in grado di migliorare il gioco fosse stata facilmente implementabile, l'avremmo già vista. Nella precedente generazione di console abbiamo visto alcuni giochi offrire la possibilità di variare le prestazioni, ma nella maggior parte dei casi i risultati migliori sono venuti dalle impostazioni standard.
Ad esempio, i vari BioShock permettono di sbloccare il frame rate. Ciò aumenta la reattività dei controlli ma introduce un tearing pressoché permanente, e il frame rate risulta talmente variabile che l'esperienza non è omogenea. Nel caso di Saints Row e Alan Wake's American Nightmare abbiamo visto la possibilità di disabilitare la sincronia verticale. In teoria è una buona opzione da includere, ma in pratica è molto difficile riuscire a gestirla correttamente sotto i 30fps. In generale, la nostra opinione è che se i 60fps sono più importanti per voi che per gli sviluppatori, forse è tempo di considerare un cambio di piattaforma.
"Le opzioni grafiche su console sono limitate, e di solito le impostazioni standard producono i risultati migliori"
Il bello di giocare su PC è la possibilità di configurare sia hardware che software per adattare l'esperienza. In molti casi ciò funziona benissimo, a patto di avere a disposizione sufficiente potenza per superare le limitazioni del motore. In caso contrario, ottimizzare le opzioni grafiche per la propria macchina può essere un'esperienza enormemente frustrante, e osiamo suggerire che sia tempo di ripensare il sistema.
Prendiamo come esempio Crysis 3. I primi due livelli del gioco richiedono risorse molto differenti al vostro sistema. Il tempo speso a ottimizzare le opzioni grafiche disponibili in un'area del livello può risultare totalmente sprecato altrove, quando si scopre che la GPU viene messa sotto carico dietro l'angolo o nel passaggio da un livello all'altro. I relativi menu sono spesso criptici e non danno alcuna indicazione del carico della GPU rappresentato da ogni voce, o della perdita di dettaglio a cui si va incontro. Inoltre, non sappiamo mai quali potrebbero essere i colli di bottiglia in ogni scena.
Inoltre ci sono spesso caso in cui una pessima ottimizzazione non può semplicemente essere arginata da tale calibrazione. È il caso delle versioni PC di Assassin's Creed 4 e Call of Duty: Ghosts. Il nostro attuale sistema da gioco, un Core i7 overcloccato a 4.3GHz affiancato da una Radeon R9 290X, dovrebbe riuscire a far girare entrambi i giochi a 1080p60 stabili. Questo invece non succede, nonostante una grande quantità di tempo passata a ritoccare le opzioni.
"Introdurre opzioni grafiche da PC su console non è una grande idea secondo noi. Pensiamo che il sistema di calibrazione su PC vada rivisto"
Ma perché? Non lo sappiamo, visto che non ci viene data alcuna informazione su quali siano i colli di bottiglia. Invece di una serie di opzioni slegate da qualsiasi contesto, sarebbe utile avere una serie di stanze di prova basate sulle scene più intense del gioco, dove testare in tempo reale varie combinazioni di parametri grafici. Un'opzione di calibrazione automatica per queste scene sarebbe veramente comoda, insieme a dei limitatori di frame rate come quello di Killzone Shadow Fall. Allo stesso modo, il supporto per la sincronia verticale (misteriosamente disponibile solo su GPU Nvidia, nonché nascosta nel pannello di controllo) sarebbe la benvenuta.
Tenendo presente la nostra preferenza per i 60fps, possiamo capire la frustrazione di alcuni giocatori riguardo i titoli per console next-gen che girano a metà del frame rate ideale. Ora che le specifiche del nuovo hardware sono però note, è comprensibile il motivo per cui gli sviluppatori continuino sul sentiero dei 30fps, e i pixel non sono l'unico fattore. Anche se i calcoli dietro a un passaggio da 1080p30 a 720p60 sembrano evidenti, la realtà è che un abbassamento di risoluzione non comporta un raggiungimento automatico a 60fps.
In ambito PC ci sono molte opzioni a disposizione dei giocatori per rifinire l'esperienza in base alle singole aspettative, ma anche investendo molti soldi nell'hardware e molto tempo nella calibrazione delle opzioni, il risultato finale può deludere. Stiamo attualmente lavorando al nostro Digital Foundry PC "next-gen", e pensiamo di potervi proporre i risultati la prossima settimana. Dai nostri test preliminari una cosa è chiara: eguagliare la qualità delle console next-gen non è né difficile né particolarmente costoso. Sotto molti aspetti chiave, però, ottenere un'esperienza 1080p60 nettamente superiore non è così semplice come si possa pensare...
Traduzione a cura di Emiliano Baglioni.