Ormai è chiaro a tutti che la nuova console di Microsoft sia stata lanciata davvero troppo presto e che, dopo le recenti dichiarazioni di Spencer, Penello e Multerer, Xbox One è stata progettata per una dead-line più avanzata rispetto al lancio di novembre 2013. Questo punto è molto importante e va a coincidere proprio con alcuni elementi mai riportati o trattati da Microsoft stessa. Sviluppatori che si lamentavano di SDK ancora acerbi, specifiche tecniche “scialbe” e poco approfondite, driver poco ottimizzati e altre cose che andiamo dicendo da tempo.
La situazione sta migliorando e quello che doveva essere la visione di Microsoft verso Xbox One, solo ora si sta concretizzando. Come i più informati ben sapranno, la casa di Redmond non ha mai, al momento, descritto nel dettaglio il chipset di Xbox One, se non alcuni elementi, comunque importanti, come il clock di CPU e GPU, quantità di ESRAM (47 MB totali, ve lo ricordiamo, non esistono altri MB segreti sparsi nel wafer di silicio…), 15 special processor unit, un guest host e il fatto che l’architettura realizzata sia Full HSA, ossia coerente con tutti i suoi elementi (per fare un esempio, la tanto chiacchierata ESRAM può “comunicare” con CPU, GPU, RAM di sistema e via discorrendo, in maniera sincrona, ossia in lettura e sia in scrittura).
Microsoft non ha mai accennato però alla sua GPU, più volte ricordata essere di tipo “custom” e non proveniente dalla famiglia ATI 6000 o 7000, cosa che altri siti vorrebbero farci credere. Microsoft ha disegnato con AMD la propria console, studiandola nei più minimi dettagli e adoperando scelte che attualmente non esistono in commercio.
Per fare un paragone diretto, Sony ha puntato su un hardware stabile, efficiente, veloce ma non dinamico, ripreso direttamente dall’universo PC ma senza introdurre caratteristiche tecniche rilevanti. Un SoC discreto e un pool di memoria velocissimo, come le GDDR5, ma non particolarmente adatte per la comunicazione con la CPU e per la gestione di piccoli flussi di dati. Anche Sony aveva pensato ad affiancare alle GDDR5 una EDRAM o una ESRAM in modo da eliminare colli di bottiglia e rendere l’hardware di PS4 più coerente possibile, scelta poi non adottata per via degli ingenti costi aggiuntivi che sarebbero giunti in termini di progettazione e fabbricazione.
In altre parole, considerando che PS4 utilizza anche 4 Compute Unit e diversi processi GPGPU per l’elaborazione di processi extra-grafici, come audio in-game, gestione della intelligenza artificiale, la fisica, possiamo vedere come la potenza in TFLOPS della console va diminuendo. I TFLOPS di PS4 sono nominali e si riferiscono all’intera potenza RAW della console.
Diversamente Microsoft ha optato per una architettura più specializzata e meno CPU-GPU centrica adottando scelte molto interessanti sotto il profilo ingegneristico: il main SoC è coadiuvato da 15 processori speciali, i data move engine e un chip audio realizzato internamente da Microsoft, senza dimenticarci anche il Kinect, che non grava in particolar modo sulla console avendo RAM e CPU integrati.
Il segreto di Xbox One è proprio questo: un chipset personalizzato, molto performante e dotato di importanti e numerosi sub-asset in grado di alleggerire il carico computazionale del SoC. Il SoC di Xbox One viene calcolato in 1,24 TFLOPS ma non di RAW power bensì della sola capacità di calcolo di CPU e GPU, senza contare quindi il resto dei componenti (tanto per dire, il chip audio da solo vale tra i 50 e gli 80 GFLOPS…).
Abbiamo quindi, riassumendo, la seguente tabella:
PS4 | 1.84 Tflops | CPU: 100 Glops, Totale 1.94 Tflops
Xbox One | 1.31 Tflops | CPU: 109 Gflops, Totale 1.41 Tflops
Sony è stata abile a gestire i due fanta-numeri di 1080p (risoluzione) e 1,84 TFLOPS (potenza). Microsoft dal canto suo è stata, invece, molto meno aperta ed ha snocciolato dati piuttosto generici. Se andiamo in profondità però, le cose cominciano a cambiare e il quadro generale assume ben altri connotati.
La CPU di Xbox One è in grado di effettuare più operazioni per ciclo (6) rispetto alla CPU di PS4 (ferma a 2-3), tenendo presente anche la differenza in GHz, Xbox One ha il clock per core a 1.75Ghz mentre i core di PS4 sono bloccati a 1.6Ghz. La CPU di Xbox One è quindi già più veloce di un buon 10% rispetto al rivale.
Ma ora passiamo alla GPU: la conferma che le DirectX 12 siano compatibili con Xbox One apre nuovi interessanti scenari. Il primo, e lo ripetiamo per l’ennesima volta, è che Xbox One sia stata progettata già con in mente le nuove librerie grafiche di Microsoft, cosa che comporta quindi un bel balzo in avanti rispetto alla vecchia gestione delle API 11.2. L’architettura interna, per poter sfruttare nativamente le nuove API è ovviamente più moderna di quanto si potesse pensare.
A prova di futuro, ricordate? Questo confermerebbe, in parte, la presenza di un chipset GCN 2.0 o HSA, il futuro delle schede grafiche per PC. Ma la GPU di Xbox One ha molte altre caratteristiche peculiari, come detto in apertura, non esistenti oggi. Innanzitutto le nuove librerie grafiche sbloccheranno le famigerate Tiled Resource, che consentiranno l’utilizzo di texture ad altissima risoluzione sfruttando la ESRAM e, di converso, lasciando ulteriori risorse di sistema e, se in linea con i nostri dati, implementeranno al meglio la gestione delle 15 SPU e i data move engine.
Ora che i developer stanno prendendo confidenza con la ESRAM, e che certificano come il suo utilizzo sia ancora sottosfruttato, il futuro non può che essere roseo. Basti vedere anche le recentissime dichiarazioni di Respawn, autori di Titanfall, che hanno dichiarato:
“Abbiamo eseguito molti test sull’ESRAM, sull’effettivo utilizzo di shadow map, target di rendering e texture particolari. Abbiamo smanettato un sacco con la ESRAM e possiamo dire senza remore che la sua presenza giova alle prestazioni complessive del gioco. Se non ci fosse, sarebbe un problema!“, ha riferito Richard Baker nel Digital Foundry di Eurogamer.
Nel prossimo articolo ci addentreremo più da vicino nella struttura della GPU di Xbox One. E ci saranno parecchie sorprese…