In teoria: più potenza per i giochi di Xbox One senza Kinect?
Il Digital Foundry dice di sì, ma potrebbe non bastare a colmare il gap.
Includere un Kinect in bundle con ogni Xbox One ha avuto il suo prezzo, e non solo quanto a costo. Come per PlayStation 4, due degli otto core della CPU di Xbox One sono riservati alle funzioni di sistema, ma la console di Microsoft è ulteriormente vincolata dal 10% delle risorse allocate a Kinect. Visto che la console sarà a breve venduta anche senza la discussa periferica, queste risorse torneranno a disposizione degli sviluppatori? E quanto miglioreranno i giochi?
In una intervista rilasciata a Polygon, Yusuf Medhi di Microsoft suggerisce che le risorse saranno rimesse a disposizione, ma senza scendere in dettagli. “Stiamo discutendo con i publisher di cosa potremmo fare a riguardo, e approfondiremo presto”, ha detto il dirigente.
I lettori del Digital Foundry ricorderanno che gli ingegneri di Xbox One si sono già impegnati a ridurre l'impatto delle risorse della GPU riservate. “Xbox One riserva il 10% della GPU per i processi di sistema”, ci disse Andrew Goossen di Microsoft appena prima del lancio della console. “Esse vengono utilizzate per Kinect e per il rendering simultaneo di contenuti come la modalità Snap”.
"L'allocazione attuale fornisce un forte isolamento tra il titolo e il sistema, e semplifica lo sviluppo. Questo isolamento implica che il carico di lavoro del sistema, per sua natura variabile, non incide sul rendering del gioco. Pensiamo di offrire in futuro più opzioni agli sviluppatori per accedere a queste risorse della GPU, mantenendo al tempo stesso la piena funzionalità del sistema”.
Goossen ha poi spiegato come la struttura della GPU di Radeon permettesse agli ingegneri di dare priorità a differenti carichi di lavoro. In effetti, le operazioni di Kinect verrebbero trattate come compiti di background, secondari rispetto al codice dei videogiochi.
"Oltre alle code asincrone di calcolo, l'hardware di Xbox One supporta due processi di rendering simultanei”, ha spiegato Gooseen. “In questo modo l'hardware può renderizzare i contenuti del gioco con un alto livello di priorità, ma gestire anche i contenuti relativi al sistema a bassa priorità. L'hardware della GPU è progettato per massimizzare la velocità e riempire automaticamente “le buche” nel procedimento ad alta priorità."
"Rimettere a disposizione degli sviluppatori le risorse della GPU destinate a Kinect aiuterà, ma ci sono altri fattori più importanti che determineranno la qualità dei giochi”
Questi commenti fanno parte di una discussione più ampia con gli architetti di Xbox One, ma non è ancora chiaro se il piano sia destinato a essere messo in atto o meno. Certamente il concetto di svincolare l'allocazione delle risorse senza compromettere la funzionalità è sembrato ottimistico all'epoca, e l'attuale stato del carico che Kinect provoca alla GPU resta sconosciuto.
Ciò che sappiamo è che la situazione non era ancora cambiata a marzo, quasi sei mesi dopo la nostra chiacchierata con lo staff di Microsoft. Richard Baker, lead engineer di Respawn, ci ha parlato di possibili miglioramenti tecnici della versione Xbox One di Titanfall, menzionando che il vincolo delle risorse destinate a Kinect era ancora attivo, ma suggerendo che gli ingegneri di Microsoft fossero al lavoro su questo aspetto.
"Dicevano che avrebbe potuto renderle disponibili per il lancio, e credo che ci fosse qualche problema sul funzionamento del sistema”, ci ha detto Baker. “Faremo sicuramente uso di quelle risorse se dovessero darcene la possibilità. Pianificano di rendere la riallocazione opzionale, quindi dovremmo riuscire a migliorare proporzionalmente la risoluzione”.
Ieri, un'altra fonte nel campo dello sviluppo, ha indicato sotto condizione di anonimato che le risorse riservate per Kinect saranno rese disponibili per gli sviluppatori nell'aggiornamento del kit di sviluppo di maggio/giugno. Se fosse vero, ciò aiuterebbe a risolvere un problema chiave che ha afflitto Xbox One nei titoli più ambiziosi: risoluzione inferiore e mancanza di gameplay nativo a 1080p in un'epoca in cui quasi tutti gli schermi si basano sullo standard full HD. La potenza di calcolo della GPU non è inferiore solo rispetto a quella di PS4, ma anche alla tecnologia sempre più economica disponibile per PC. Siamo arrivati al punto in cui una scheda video da €120 come la Radeon R7 260X può surclassare le prestazioni di PS4 su numerosi giochi, lasciando parecchio indietro Xbox One.
La cosa ironica è che la 260X è dotata della GPU Bonaire, un hardware molto simile a quello della console di Microsoft. Ci sono delle differenze: la R7 260X utilizza tutte le 14 unità computazionali dell'architettura mentre Microsoft ne ha disabilitate due, e la scheda video viaggia a velocità di clock più elevate. La differenza però è molto marcata, e la nostra conclusione è che la restituzione del 10% di risorse della GPU non sia sufficiente da sola a colmarla. Gli sviluppatori sono stati intralciati da un sistema che, a differenza di PS4, è meno simile a un PC, un fattore che si è rivelato problematico per una prima generazione di software sviluppato prendendo a riferimento computer di fascia media.
"Le capacità grafiche di Xbox One sono al momento inferiori a quelle di PS4 e delle schede video entry-level della fascia enthusiast come la Radeon R7 260X."
Il software per Xbox One migliorerà da un punto di vista tecnologico, ma tutto dipende da una serie di fattori, il più importante dei quali ha poco a che fare con Kinect. Più determinante è la maggiore familiarità degli sviluppatori con l'hardware, elemento ben esemplificato dal nuovo Call of Duty: Advanced Warfare, che anche in fase di pre-produzione sfoggia un incremento di risoluzione del 50% rispetto ai 720è del suo predecessore, incorporando al contempo tutta una serie di nuove tecnologie di rendering.
Sebastian Aaltonen, lead graphics programmer di Trials Fusion, ha detto di guardarsi dal giudicare le nuove console in base ai titoli di prima generazione, suggerendo che il meglio debba ancora venire.
"I titoli di lancio non mostrano mai il potenziale a lungo termine delle console. 60fps stabili sono un traguardo difficile da raggiungere per ogni gioco di lancio. Gli sviluppatori devono cominciare a programmare i loro motori next-gen prima di avere accesso all'hardware finale. Bisogna fare molte approssimazioni, e azzeccarle tutte non è facile”, ha dichiarato Aaltonen.
"Nel nostro caso abbiamo cominciato con 720p su entrambe le console next-gen, perché volevamo assicurarci che i nostri programmatori potessero rifinire le meccaniche e la fisica del gioco utilizzando una build che girasse fluidamente. All'inizio del progetto, ottenere il nostro obiettivo di 60fps per il frame-rate era per noi più importante di raggiungere una determinata risoluzione.
"Alla fine siamo giunti molto vicini alla parità tra le due console next-gen. Il gioco gira su entrambe a 60fps stabili, ed è identico sia nei contenuti (texture, modelli e livelli) che nella qualità di shader ed effetti. La risoluzione di rendering è l'unica differenza tra le due piattaforme: PS4 renderizza a una risoluzione di 1080p, leggermente superiore ai 900p di Xbox One".
Molto importante sarà anche il lancio delle DirectX 12, che punta a fornire accesso di basso livello all'hardware grafico sia su PC che su Xbox One. Nel breve termine, però, l'impatto delle DX12 sullo sviluppo di videogiochi non porterà a incrementi significativi nella qualità grafica: la presentazione di Microsoft alla GDC ha messo in chiaro che il miglioramento delle prestazioni dipende principalmente dalla riduzione delle risorse accessorie richieste dalla CPU. Frame-rate migliori sono una possibilità, ma un aumento delle risoluzioni sembra improbabile.
Gli sviluppatori con cui abbiamo parlato sembrano molto più impressionati dalla qualità della documentazione sulla GPU di cui sono in possesso. L'importanza di una nuova API grafica è meno rilevante quando si comprende così a fondo la struttura dell'hardware. Il livello di dettaglio dei documenti di Sony relativi alla GPU è, in particolare, semplicemente immenso, e i punti in comune tra PS4 e Xbox One fanno sì che siano entrambe le console a beneficiarne. Come Sebastian Aaltonen spiega, l'accesso di basso livello alla GPU ha però certamente dei vantaggi.
"Lo scenario attualmente migliore per i giochi multi-piattaforma è un deficit di risoluzione a vantaggio della parità di contenuti"
"Microsoft ha annunciato che le DirectX 12 sono caratterizzate da diversi miglioramenti nell'efficienza rispetto alle DirectX 11. Sembrano delle API ben progettate. Da sviluppatore per console di lungo corso, amo mettere le mani sulla gestione di risorse di basso livello e sulla sincronizzazione dei dati su PC. Ciò permetterà agli sviluppatori di creare giochi che non perderanno mai un fotogramma. Con le attuali API di alto livello per PC si verificano blocchi inattesi, perché il driver della GPU sceglie inaspettatamente di riallocare della memoria o trasferire dei dati tramite il lento BUS PCI Express”, spiega Aaltonen, sottolineando che grossi miglioramenti sono stati fatti sui giochi per Xbox 360 nel corso del tempo, man mano che Microsoft ha aperto l'hardware grafico agli sviluppatori più avventurosi.
"Xbox 360 ha beneficiato molto delle API grafiche di basso livello. Siamo riusciti a ottenere fino a 10.000 draw call per fotogramma (a 60fps) in Trials Evolution utilizzando le API grafiche di basso livello di Xbox 360. Stiamo aspettando con impazienza di mettere le mani sulle DirectX12. È decisamente possibile che anche Xbox One ottenga un incremento di prestazioni da una nuova API di basso livello".
Xbox One ha avuto un lancio con qualche scossone, ed è facile dare la colpa di alcuni dei problemi più gravi a Kinect: la periferica ha fatto lievitare il prezzo dell'hardware e limitato le capacità della console, e al contempo le sue potenzialità sono state praticamente ignorate dagli sviluppatori, Microsoft compresa. La strategia mediatica della console legata così strettamente all'integrazione di Kinect, inoltre, non è riuscita a fare trazione, forse perché alcune funzionalità non sono disponibili all'infuori degli USA, o anche per la mancanza di interesse da parte dello zoccolo duro dei giocatori che solitamente definisce il successo del lancio di una console.
La buona notizia è che i giochi miglioreranno, ma la liberazione delle risorse della GPU destinate a Kinect, anche se benvenute, saranno probabilmente uno degli aspetti meno importanti di questo processo. La maggiore familiarità con l'hardware porterà a miglioramenti notevoli, ma ciò vale anche per PS4. In aggiunta, mentre Microsoft sviluppa le DirectX 12, Sony ha già rilasciato le sue API di basso livello (chiamate GNM) in aggiunta alle GNMX, le sue librerie di alto livello equivalenti alle DX.
Eliminare Kinect dall'equazione potrebbe portare la console a essere più competitiva sul mercato, ma alla fine ciò che conterà sarà la qualità dei giochi, e da questo punto di vista a Microsoft serve un E3 fenomenale.