GeForce GRID e il futuro del cloud gaming
Digital Foundry indaga sulla tecnologia di Nvidia e le voci su Sony.
Il mondo dei videogiochi era molto più semplice quando il cloud-based gameplay streaming ancora non funzionava, almeno non al livello a cui i media lo spacciavano a quell'epoca. L'esempio di OnLive era chiarificatore di come non si trattasse di un servizio ottimale sotto molti aspetti ma perlomeno si poteva parlare di un certo genere di giocabilità. Tre anni dopo stanno iniziando ad arrivare soluzioni funzionanti che, con il passare del tempo, potrebbero cambiare il panorama del videogioco moderno e Nvidia potrebbe essere in prima linea in questa possibile transizione.
Alla recente GPU Technology Conference, l'azienda di Santa Clara ha mostrato quali saranno le novità in questo settore svelando la tecnologia chiamata GeForce GRID, un'innovazione potenzialmente in grado di risolvere molti problemi sia client, sia server. Fino ad oggi era dato per scontato che il cloud gaming si potesse ottenere connettendo l'utente a un singolo server, una soluzione costosa e poco efficiente sotto il profilo dell'elaborazione grafica ma anche necessaria in quanto è praticamente impossibile virtualizzare il lavoro dei processori grafici allo stesso modo di quanto accade, da qualche tempo a questa parte, con le CPU per gli applicativi delle grandi aziende. GRID punta ad essere il punto di svolta col passato in quanto mira ad offrire la piena virtualizzazione di una singola GPU al costo di 75 watt per utente. La conseguenza di un'implementazione del genere su larga scala significa che i server possono essere più piccoli, facili da raffreddare, meno esosi in termini di risorse hardware e quindi, meno costosi.
Con GRID, Nvidia punta anche ad ottenere la massima qualità dell'esperienza di gioco per quanto riguarda l'utente e questo, dopo i costi di gestione, si deve riflettere nella lotta alla latenza, l'altra grande barriera a una vera implementazione del cloud gaming. Durante la presentazione NVIDIA è stata così fiduciosa nella sua tecnologia da averne misurato la performance con dati dettagliati: diamo quindi una rapida occhiata a come Nvidia vede il gameplay via stream del prossimo futuro.
"GeForce GRID punta a minimizzare la latenza lato server portando il Cloud Gaming al livello della input lag da console."
Nella galleria comparativa a sinistra abbiamo preso in considerazione le problematiche di latenza: la differenza in termini di risposta tra Modern Warfare 3 e ogni altro sparatutto da 30FPS è ovviamente uno dei motivi essenziali per cui è lo sparatutto per console più venduto. Tuttavia, è altrettanto vero che giocato da remoto rimane percepibile una lag che impedisce al gameplay di svilupparsi correttamente. Il feeling di GTA IV è ancora più lento e macchinoso, come anche Killzone 2 che già all'epoca della pubblicazione era stato molto criticato per il sistema di controllo. In ogni caso, questa rassegna si attesta sui 200 millisecondi di ritardo tra input dei comandi e lag del sistema video.
La slide di destra è sicuramente più interessante: il valore sul fondo "console plus TV" sembra decisamente ottimistico per uno sparatutto console da 30FPS, visto che una lag tra 116ms e 133ms è vicina alla qualità del gameplay di una console dal vivo. Di converso, il valore di 66ms nella sola lag di visualizzazione a schermo pare piuttosto esagerata. La barra dei valori "Cloud Gen I" è allineata con le nostre precedenti misurazioni con OnLive, che nella maggior parte dei casi erano sotto la media per una situazione di gioco ottimale.
La barra di valori nella parte superiore dello schermo è quella dell'obiettivo tecnologico che si è posta Nvidia per quanto riguarda la tecnologia GeForce GRID, ovvero sotto i 150 millisecondi, latenza di visualizzazione inclusa. Si tratta di un traguardo molto ambizioso: a una prima occhiata il risparmio in termini di latenza deriva dalla gestione del traffico e dal processo di cattura/codifica. Il primo elemento di quest'equazione si riferisce alla strategia di Gaikai di aumentare il numero dei datacentre attivi per renderli più vicini all'utente rispetto al minor numero di OnLive. Il secondo elemento è invece rappresentato dal procedimento di cattura: Nvidia vuole usare framebuffer a bassa latenza e lettura veloce, collegati direttamente al compressore hardware. Funzionerà?
Il Cloud Gaming può raggiungere la qualità console?
Per raggiungere un livello di qualità del gameplay simile a quello di una console dal vivo, ci sono tre fattori essenziali da tenere in considerazione: qualità dell'immagine originale, codifica video e input lag, ovvero la latenza con cui il gioco reagisce alle azioni del giocatore. La nostra recente prova comparativa di OnLive vs. Gaikai suggeriva che il servizio di David Perry aveva infranto non poche barriere tecnologiche rispetto a OnLive, per quanto le differenze tra immagini dal vivo e compressione dello streaming siano ancora evidenti. Si tratta dello scambio fondamentale tra qualità e convenienza, già visto in altri formati come MP3 vs. CD o Netflix vs. Blu-ray.
L'immagine non compressa a 24-bit RGB 720p che viene spedita allo schermo da console utilizza circa 2.6 megabyte di banda passante, senza calcolare l'audio: nel caso di un'immagine via cloud occorre downscalare l'immagine a un formato pixel diverso, lo YUV 4:2:0, che consuma meno banda e che a sua volta viene ricompresso prima dell'invio. OnLive dedica a ogni frame 11K, audio incluso, mentre invece Gaikai codifica la metà dei frame, ma le risorse risparmiate vengono dedicate alla qualità dell'immagine, per quanto il livello di compressione rimanga enorme. In entrambi i casi, le scene d'azione molto veloci possono soffrire spesso di macroblocking se un flusso di dati non sufficiente viene inviato a schermo.
All'aumento della banda aumenta anche la qualità dell'immagine: a 5mbps la limitazione è notevole, ma per decodificare un'immagine a 720p non serve un aumento esponenziale della banda stessa per avere un'immagine quasi perfetta. Una qualità di riferimento può essere quella con cui abbiamo codificato un video di Soul Calibur 5, usando lo stesso codec x264 adottato da Gaikai e cercando di simulare le stesse impostazioni. L'esperimento non può essere preciso al dettaglio ma spiega bene un concetto di fondo molto importante: un aumento esponenziale della banda non corrisponde a un aumento proporzionale nella qualità dell'immagine."
"Un aumento esponenziale della banda non corrisponde a un aumento proporzionale nella qualità dell'immagine."
La qualità dell'immagine a 10mbps è evidente mentre a 20mbps il guadagno non è altrettanto proporzionale: per fare una comparazione, i film in Blu-ray viaggiano ad un'ampiezza di banda tra le cinque e le dieci volte superiore a quella di qualsiasi alternativa in HD. Tuttavia solo i puristi più accaniti riuscirebbero a notare un aumento della qualità dell'immagine del doppio o triplo, come la galleria comparativa di alcuni fermo immagine presi dal Pianeta delle Scimmie dimostrano. In futuro le connessioni in fibra ottica diventeranno più comuni offrendo una base di trasmissione dati tra i 25 e I 40mbps. A quel punto avremo raggiunto quel genere di scarto qualitativo e prestazionale che per il grande pubblico fa perdere significato alla necessità di possedere effettivamente una console.
Locale vs. Cloud - la battaglia della latenza
Ma l'affermazione di NVIDIA che il Cloud potrà competere costantemente con le latenze console è vera? Fino a quando non avremo la possibilità di mettere mano a un client connesso con un server non potremo fare altro che riservarci un giudizio: in realtà ci sono ottime possibilità per sperimentare con successo questo genere di salto generazionale. Una fonte molto bene informata all'interno della server farm di Gaikai ci ha già anticipato che proprio questo servizio sta usando da qualche tempo una versione della tecnologia GRID basata sulle GPU Fermi, contenenti in una certa misura il fast streaming che anticiperà l'arrivo della GPU Kepler entro la fine di quest'anno.
Questo può spiegare il momento storico "tecnico" che stiamo vivendo, ovvero avere la latenza di input via cloud che pareggia quella della versione console di un gioco. Nella fattispecie, come potete vedere dal filmato comparativo sottostante, Bulletstorm gira su Xbox 360 mentre la versione PC viene trasmessa tramite Gaikai su una connessione ADSL. L'input lag del titolo Epic è alta anche giocando di persona ma a conti fatti il risultato è molto simile e fa capire che c'è qualcosa di diverso in azione nella tecnologia di cattura e di trasporto.
"Bulletstorm su Gaikai pareggia la input lag della versione Xbox 360. Quella che attualmente è l'eccezione potrebbe diventare la norma con l'evolversi della tecnologia."
Come può essere possibile un risultato del genere? Il principio fondamentale del cloud gaming è che un gioco a 60FPS permette di abbattere la latenza di circa 50 millisecondi rispetto ai giochi console che di standard girano a 30 fotogrammi al secondo. Gaikai e OnLive usano quel tempo per catturare e codificare i dati audio/video, spedirli al client via Internet, attendere la decodifica e mostrare l'effettiva azione a schermo.
Oggi riusciamo a sorpassare il limite dei 50 millisecondi di un buon margine, ma nell'esempio di cui sopra abbiamo un momento di gloria in cui la tecnologia riesce a raggiungere l'obiettivo prefissato ed eguagliare la qualità del gameplay dal vivo. Non riesce a farlo con solidità (lo stesso test eseguito il venerdì pomeriggio ha perso qualche frame mentre per altri titoli siamo andati oltre i 200ms), ma rimane il fatto che abbiamo ottenuto un risultato di notevole importanza. Lo scopo di NVIDIA è quello di aumentare quella finestra di 50ms il più possibile e infilare in quel ristretto lasso di tempo i processi di cattura e codifica.
Quindi, se c'è il potenziale per ottenere un gameplay di qualità console via cloud, non sorprendono le voci che vedono Sony intenzionata a percorrere questa strada. Perché fare una cosa del genere quando l'obiettivo primario dell'azienda dovrebbe essere quello di vendere decine di milioni di console? Perché, e non siamo i soli a pensarlo, è convinzione diffusa che il mercato dell'hardcore gaming fatto di giocatori che vogliono l'hardware in casa, sia ormai stato sfruttato fondo. Uno streaming cloud realmente funzionale non interesserà mai la base degli utenti core, ma quando si può mettere in piedi un servizio a basso costo talmente efficiente da permettere anche a chi non possiede una console (o un computer) di provare un'esperienza di gioco simile ma a una frazione del prezzo, le prospettive cambiano. Stiamo infatti parlando dei milioni di utenti che, a prescindere dalla piattaforma, popolano Internet.
Sony può essere interessata a questa tecnologia?
Su un livello strategico più elevato, offrire un servizio di gioco cloud potrebbe essere un obiettivo molto importante per un publisher come Sony: visti anche gli scarsi risultati ottenuti nell'ultimo anno fiscale, la grande S ha un disperato bisogno di monetizzare il suo business televisivo. Con questo sistema, si riuscirebbe a trasformare la PS3 da una console costosa prodotta in perdita, perlomeno nei primi anni di vita, in un decoder in grado di ricevere il segnale audio video e arrivare al grande pubblico, pur continuando ad offrire lo stesso servizio ai giocatori tradizionali.
Ma la tecnologia cloud è pronta per la generazione PlayStation? Potremo vedere videogiochi di classe PS3 mandati in streaming verso set-top box e Smart TV nel prossimo futuro? Anche pensando che l'infrastruttura riesca a reggere il carico di milioni di videogiocatori, il concetto di effettuare uno streaming del gameplay da console usate come server non è così scontato. Anche se vengono montati rack su rack di PS3 all'interno di datacentre, il tempo perso nella cattura e nella decodifica del segnale audio video rimane, aggiungendo il fatto che il trucco di adottato da Gaikai e OnLive di far girare il gioco a 60FPS e codificare solo la metà dei frame in questo caso non è praticabile.
Tuttavia, quello che molte persone dimenticano è che la PS3 già effettua lo streaming over IP e, sotto alcuni aspetti, il cloud è una naturale estensione di questa feature. In un articolo di qualche tempo fa avevamo mostrato come PlayStation Vita fosse in grado di far girare una vasta libreria di titoli PS3 via Remote Play. Si tratta della dimostrazione lampante che la tecnologia è già disponibile, per quanto la risoluzione sia una misera 480x272; Sony ha già implementato lo streaming a 480p in alcuni giochi come Killzone 3 e, in linea teorica, il salto a 720p dovrebbe essere possibile.
Ma come avviene tutto questo? Sony dispone di librerie software che effettuano la decodifica del frame buffer direttamente a video, un processo cui viene deputata una delle otto SPU presenti nel processore della PS3 simile a quello presente in HAWX 2 e Just Cause 2, per risparmiare risorse da destinare al gameplay in HD o per effettuare l'upload su YouTube. Una singola SPU riesce ad effettuare la decodifica di un flusso d'immagini a 720p e 30FPS a 5MBps: è quindi solo questione deputare una parte della potenza di calcolo PS3 a compiere questa operazione. E quale potrebbe essere se non quella SPU disattivata ma funzionante che Ken Kutaragi aveva fatto mettere all'interno della console?
"PS3 già effettua lo streaming over IP e, sotto alcuni aspetti, il cloud è una naturale estensione di questa feature."
Oltre alla fattibilità tecnica, ci si scontra con le difficoltà commerciali: l'idea di server farm piene di board PS3 appare di difficile attuazione. Anche con il vantaggio della codifica integrata rimangono molti i punti di domanda sulle performance reali. In teoria nulla impedirebbe a terze parti di eseguire streaming di giochi PC su console PS3, ma è difficile che Sony firmi accordi di questo genere che finirebbero per tagliar fuori dal catalogo dei titoli giocabili le sue stesse esclusive.
Questo anche in virtù dell'obsolescenza tecnologica dell'attuale generazione di console: tuttavia, se le voci sulle specifiche di una PlayStation 4 basata su una CPU AMD x86 sono vere, un approccio commerciale come quello cui abbiamo appena accennato avrebbe molto più senso. Una variante supereconomica di questa nuova console potrebbe essere dedicata alle server farm ed essere utilizzata come base per il servizio di streaming supportando un'ampia base di dispositivi Sony: la nuova Orbis/PS4 ma anche la vecchia PS3 e PlayStation Vita.
Quindi la situazione attuale è chiara: il cloud gaming su PC è ancora in uno stato semi- embrionale a causa dei ben noti problemi legati alla qualità dell'immagine e della consistenza del gameplay dovuta alla latenza. Tuttavia, l'impressione è che NVIDIA abbia fatto un salto in avanti cruciale nell'evoluzione di questo business, che potrebbe portarlo ad ottenere risultati impensabili fino a qualche anno fa anche su console grazie a una netta riduzione della latenza. L'unica variabile impossibile in grado di rendere il game streaming realtà è la qualità dell'infrastruttura di rete, ovvero il passaggio dell'utenza Internet in massa dall'ADSL alla connettività in fibra ottica. Questo garantirebbe un'esperienza di gioco quasi indistinguibile da quella tradizionale, ma quanti anni occorreranno per arrivare a un standard infrastrutturali di questo genere alla portata delle grandi masse?
Traduzione a cura di Matteo "Elvin" Lorenzetti.