Analisi tecnica: Durango vs. Orbis
PlayStation 4 e Xbox 720: chi è più potente?
La prossima console war deve ancora cominciare ma le linee di battaglia sono già formate e la potenza di fuoco/calcolo a disposizione di Microsoft e Sony è ormai nota. Il nome in codice della battaglia è "Durango vs. Orbis", un testa a testa come non ne vedevamo ormai da anni. I cuori tecnologici che pulsano all'interno delle due console sono costruiti dalla stessa azienda, e l'architettura base è di conseguenza quasi identica come natura. Le differenze tra le due console sono meno pronunciate di quanto non fossero nelle generazioni precedenti: fondamentalmente, Sony e Microsoft hanno affrontato le stesse sfide e si sono rivolti alle stesse persone per trovare la soluzione, e il risultato è che i due prodotti finali sono molto simili. Ci sono però delle differenze tra Durango e Orbis, che riflettono la diversa "visione" che i due produttori hanno del futuro delle console.
In questo articolo non ci soffermeremo troppo sulle similitudini tra le due console ma va menzionato che sia la nuova Xbox che la nuova PlayStation saranno basate sulla stessa CPU: una AMD ad 8-core con una frequenza di 1.6GHz, basata sulla futura architettura ad alte prestazioni e bassi consumi, denominata Jaguar. Anche da un punto di vista grafico AMD sta offrendo la stessa tecnologia ad entrambi i produttori: il core GCN (Graphic Core Next), che si trova nelle famose schede grafiche Radeon HD serie 7xxx.
Ed è qui che cominciamo a vedere il primo punto di divergenza: il lavoro di rendering della GPU sta tutto nello spalmare il carico di calcolo su più core contemporaneamente, e va notato che la nuova Xbox ha 12 di queste unità di calcolo (o "Compute Units", "CU"), mentre Orbis ne ha 18: un vantaggio del 50 percento. Questi numeri sono stati discussi animatamente nelle ultime settimane, ma le nostre fonti su Orbis confermano il dato sulla piattaforma Sony, mentre il leak di SuperDAE, in combinazione con alcune informazioni riservate che abbiamo ottenuto, conferma il conteggio delle CU di Durango. L'informazione in questo caso è vecchia di circa nove mesi, provenendo dalle fasi beta dello sviluppo di Durango: in teoria l'hardware potrebbe essere migliorato da allora, ma in pratica è molto difficile che sia avvenuto. Non si può semplicemente appiccicare dell'hardware extra ad un prodotto senza far slittare di parecchi mesi in avanti tutta la catena produttiva.
Quindi, la differenza in termini di GPU si tradurrà in un vantaggio per la console Sony così ampio come suona sulla carta? Le specifiche di Orbis postate da VGleaks, e derivate ancora da documenti ufficiali, suggeriscono che quattro di queste 18 CU siano riservate per le funzioni di calcolo puro, riducendo quindi il vantaggio detenuto da Orbis in termini grafici dal 50% a circa il 16%. Ad ogni modo, anche se il calcolo puro e semplice viene spesso usato per elementi come la fisica, nulla impedisce agli sviluppatori di assegnare funzioni grafiche specifiche a queste CU: Just Cause 2, per esempio, usava le soluzioni di calcolo NVIDIA (CUDA) per migliorare gli effetti dell'acqua, mentre un elemento centrale di Battlefield 3 (la tecnica di shading che rende così eccezionale il realismo delle luci) è gestito allo stesso modo tramite DirectX11.
Durango usa un approccio simile a quello di un PC, dove gli sviluppatori scelgono come allocare le risorse GPU tra i compiti di rendering e di calcolo. Qui si può notare un collo di bottiglia potenziale, però: sulla console di Microsoft il rendering e il calcolo dovranno dividersi le risorse dei 12 core Radeon GCN, mentre Orbis ha dell'hardware dedicato specificamente al calcolo, e nonostante questo mantiene un vantaggio in termini di CU dedicate al rendering.
Altre informazioni sono emerse riguardo un altro possibile vantaggio di Orbis: l'hardware Sony ha un numero sorprendentemente ampio di 32 ROP (Render Output Unit), contro le 16 di Durango. Le ROP traducono i valori di pixel e texture nell'immagine finale inviata al display: in parole povere, più ROP si hanno a disposizione e maggiore è la risoluzione che si può trattare (anche l'anti-aliasing via hardware è collegato alle ROP). 16 ROP sono sufficienti per mantenere la risoluzione 1080p, 32 sono senz'altro un'esagerazione a questo riguardo, ma potrebbero tornare utili per riprodurre ad esempio un 1080p in 3D stereoscopico, oppure la risoluzione 4K. Ad ogni modo, le nostre fonti suggeriscono che Orbis sia disegnata principalmente per schermi con una risoluzione massima di 1080p.Il dibattito sul fattore "custom"
È molto discusso ultimamente l'argomento secondo cui paragonare Durango e Orbis in questi termini non sarebbe realistico, perché i produttori delle rispettive piattaforme hanno molto più controllo riguardo il design del loro hardware di quanto queste specifiche numeriche non farebbero pensare, e che ogni hardware può essere adattato e customizzato.
La misurazione in teraflop nudi e crudi (1.23TF per Durango contro 1.84TF per Orbis) è stata messa in discussione e ritenuta priva di significato, e in un certo senso questo è vero. Ad ogni modo basta controllare la pagina di AMD dedicata alle specifiche di tutti i suoi vari hardware GCN, per scoprire che criteri simili vengono impiegati, basandosi sul conteggio delle CU e sulla velocità di clock. Ovviamente in questi numeri non si racchiude tutta la verità sulla potenza di un hardware, ma si tratta comunque di un criterio abbastanza affidabile per averne un'indicazione, se la stessa AMD lo impiega per esprimere i valori dei propri prodotti. C'è da aggiungere anche che le parti delle console next-gen sono piuttosto simili ai loro equivalenti PC. Insomma, il calcolo in teraflop non significa molto se non si hanno altri riferimenti di paragone, ma in questo caso è sufficientemente affidabile come metro di giudizio delle performance potenziali delle due macchine.
Questo non significa che Durango e Orbis non avranno hardware customizzato. Ovviamente ne avranno, ma anche in questo caso vediamo molti punti in comune tra le sfide che gli ingegneri si sono posti e le soluzioni che hanno trovato. Entrambe le macchine hanno degli hardware dedicati al video encoding e decoding (quindi aspettiamoci che tutte e due potranno registrare e condividere filmati di gioco senza alcun impatto sulla fluidità dei giochi stessi) ed entrambe hanno processori audio custom e il supporto per la decompressione di asset compressi in LZ (un supporto per la compressione lossless in stile ZIP).
Ma qui è possibile notare alcuni vantaggi molto interessanti per Durango. I suoi "Data Move Engines" gestiscono via hardware la compressione e la decompressione (e il supporto al formato JPEG, forse per gestire gli stream video di Kinect), e c'è anche un supporto per il texture swizzling. Comunque, il dubbio maggiore qui è che gli elementi centrali della funzionalità Move Engine sono apparentemente disegnati per ottenere la migliore performance da una impostazione di RAM molto più complessa (e lenta) rispetto al suo equivalente su Orbis. In sostanza, la maggior parte dell'hardware custom è disegnato per alleviare il carico della CPU, non per migliorare la performance della GPU, quindi chi spera che la "customizzazione" dell'hardware aiuti Durango a superare il vantaggio teorico di Orbis sul fronte grafico, probabilmente resterà deluso dalla verità finale.
In effetti, molte delle funzioni assegnate ai Move Engine (tilting/untilting delle texture, decompressione lossless, decompressione delle texture) erano spesso delegati alle SPU sulla PlayStation 3. Anche l'ampiezza di banda leakata da VGLeaks (circa 25GB/s, un dato plausibile) è paragonabile con la performance delle SPU assegnate allo stesso compito. Quindi, sostanzialmente, si possono notare elementi vantaggiosi di "customizzazione hardware" come due o tre SPU dalla funzione fissa aggiunte al processore AMD a 8-core. Orbis ha il suo hardware custom che esegue molte delle stesse funzioni, e per il resto può contare sul lusso di un modulo di calcolo programmabile che manca invece a Durango (a meno che non si vadano ad intaccare le risorse di rendering).Il fatto che Durango abbia integrati dei Data Move Engine indica un'altra differenza tra le due piattaforme next-gen: la memoria, e il modo in cui è allocata nel sistema.
RAM: quantità contro velocità
Durango è un vero mostro di memoria, avendo ben 8GB di RAM contro i "soli" 4GB dell'hardware Sony. Si tratta di una strategia ambiziosa, resa necessaria dalle speranze di Microsoft, secondo cui la nuova Xbox sarebbe più di una semplice macchina da gioco: si pensa che l'hardware riservi una significativa quantità di memoria RAM per le funzioni di media player, e sono numerosi i rumor secondo cui la console potrebbe far girare app dedicate e contenuti audio/video in contemporanea con l'esecuzione di giochi.
C'è solo un problema: semplicemente, strizzare 8GB della memoria più veloce all'interno di una console non è possibile dal punto di vista logistico. Uno dei vantaggi chiave dell'Xbox 360 sulla PS3 era un parco di memoria unificata da 512MB composto da veloce GDDR3. L'equivalente più recente è la memoria GDDR5, usata principalmente in schede video per PC, i cui moduli però vengono forniti solo in taglie "standard", e il taglio standard attuale più grande (nonché più difficile da produrre) è quello da 512 MB. Collegare a catena 16 di questi blocchi sulla scheda madre di una console, semplicemente, non sarebbe fattibile. Sony ha optato per un sistema più "ristretto": meno blocchi di memoria ma tutti molto, molto veloci. La memoria è infatti GDRR5, con tutti i vantaggi di velocità derivati, ma ammonta a 4GB (ci sono rumor riguardanti un upgrade a 6/8GB, ma si tratta di un'eventualità molto improbabile).
La tecnica di Microsoft per allocare gli 8GB è ricorrere a blocchi di più economica DDR3, dello stesso tipo che è possibile trovare come RAM negli attuali PC o nel Wii U. Questo presenta un problema: l'ampiezza di banda. Pensate ai dati come ad un flusso d'acqua che attraversa un tubo: più è grande il tubo, maggiore è la quantità d'acqua che può fluire attraverso un determinato punto. La DD3 può elaborare solo un terzo dei dati della più veloce GDDR5, perché il suo "tubo" è molto più stretto. La soluzione di Microsoft? Equipaggiare Durango con 32MB di memoria veloce (ESRAM) collegata direttamente al nucleo grafico, ma accessibile anche da parte della CPU. Questa piccola memoria di cache può operare in parallelo con la DDR3, quindi l'ampiezza di banda combinata sale a circa 170GB/s: una cifra vicina alla velocità della memoria GDDR5 di Orbis.
Cosa significa tutto questo, dunque, in termini reali per gli sviluppatori? In qualsiasi modo cerchi di porla Microsoft, è chiaro che i 32MB di ESRAM sono una soluzione traballante che non si avvicina nemmeno, in termini di velocità complessiva ed efficienza, al blocco unificato di RAM veloce di cui dispone Orbis. Ad ogni modo, anche se gli svantaggi della situazione sono ovvi, questo non significa che sia un completo disastro per Durango e per lo sviluppo su questa macchina. Parlando con i developer, l'impressione che ne abbiamo ottenuto è che non tutte le caratteristiche di un gioco necessitano effettivamente di memoria ultra-veloce. La base del gioco potrà essere sviluppata facendo conto sulla DDR3, e nei casi in cui ci sarà bisogno di maggior velocità si potrà invece far sì che tali feature specifiche sfruttino la ESRAM, che offrirà un'ampiezza di banda sufficiente per incrementare le performance, se necessario.
A mitigare in un certo senso la differenza tra i due hardware c'è anche il fatto che Durango opererà sotto una versione migliorata delle DirectX 11, definita internamente DirectX 11.x. È molto probabile che funzioni di rendering cruciali siano in futuro ottimizzate automaticamente da Microsoft per l'utilizzo con memoria ESRAM.
Direct X 11 vs. LibGCM
Tutto questo ci porta a parlare degli ambienti di sviluppo che accompagnano il nuovo hardware. Per Microsoft si tratta di una strada nota, ossia espandere l'utilizzo dei tool Visual Studio esistenti e già utilizzati per creare i titoli Xbox 360 attuali. Il passaggio dal PowerPC ai processori x86 a 64-bit vede l'introduzione di un numero di nuove estensioni disegnate per sfruttare il nuovo hardware, mentre le versioni customizzate delle DX9 utilizzate dall'Xbox 360 lasciano a loro volta il posto alle ugualmente migliorate DX11.Da quello che abbiamo potuto sentire, dovrebbe trattarsi di una transizione priva di problemi per i developer (specialmente quelli che hanno già lavorato con le DX11 su progetti PC precedenti), e mentre alcuni sembrano preoccupati del fatto che essere limitati alle API Microsoft potrebbe rappresentare un problema, va detto che ci sono funzioni specifiche delle DX11 disponibili per gli sviluppatori all'opera sull'hardware custom di Durango. C'è anche un certo grado di flessibilità in come le DirectX sono usate, che corrisponde alla frase in gergo "to code to the metal", ossia scrivere codice che bypassa l'OS base di un hardware per andare ad interagire direttamente con l'hardware stesso, in forma personalizzata. Per esempio, su Xbox 360, Microsoft consente agli sviluppatori di caricare dati relativi agli shader nella GPU nella loro forma nativa. I developer indirizzano l'hardware verso i dati e questo li carica: la sfida è assicurarsi che si trovino nel posto giusto e nel formato giusto prima che la GPU li tocchi. Parlando in senso stretto, significa ancora lavorare all'interno delle API delle DirectX, ma praticamente gli sviluppatori stanno scrivendo codice direttamente per l'hardware.
Riguardo alla PlayStation di nuova generazione, gli sviluppatori molto probabilmente non avranno gli stessi problemi sorti con i tool che avevano per PS3. Avendo acquisito la SN Systems nel 2005, principalmente per migliorare l'ambiente di sviluppo per le proprie console, Sony dovrebbe aver migliorato sensibilmente la qualità dei tool, al punto che uno sviluppatore di grande esperienza con cui abbiamo potuto confrontarci sull'argomento ci ha detto che i tool per PlayStation Vita sono i più impressionanti che abbia mai usato.
Con Orbis, Sony sta usando una nuova variante delle librerie LibGCM, che sono state utilizzate anche su PS3 e Vita. Questo consente agli sviluppatori di indirizzare l'hardware più direttamente, così che elementi specifici dell'hardware grafico AMD possano essere utilizzati in modi che non hanno un corrispettivo diretto in DirectX. Basta guardare a giochi come God of War e Uncharted per vedere qual è il risultato che può essere prodotto dall'approccio che Sony ha nello sfruttare il suo hardware. Quei titoli restano infatti lo stato dell'arte attuale, pur utilizzando un hardware grafico che deriva dall'ormai obsoleta tecnologia Nvidia del 2005. Ovviamente, e con la PS3 in particolare, la GPU è solo una parte dell'hardware complessivo, ma resta il fatto che gli sviluppatori stanno estraendo delle performance dall'RSX che non si sarebbe potuto immaginare quando la console è stata disegnata.
Il campo di battaglia della next-gen prende forma
Nel 2005 Microsoft e Sony svelarono i design delle loro console “next-gen”, l'Xbox 360 e la PlayStation 3. Si trattava di hardware ambiziosi, che spingevano il consumo energetico a nuovi livelli (con conseguenze spesso disastrose per l'affidabilità) e che utilizzavano pezzi di PC ad alte performance inserendoli in un design da console. Microsoft era avanti in termini di potenza della GPU (la Xenos aveva un design molto futuribile a livello di architettura, più avanzato di qualsiasi cosa si fosse vista all'epoca). Sony invece fece la scommessa del Cell e del Blu-ray. Una CPU dal design molto complesso che inizialmente gli sviluppatori hanno avuto problemi a sfruttare, e un sistema di immagazzinamento dati che in pochi hanno utilizzato appieno: elementi che hanno creato un abisso tra i migliori titoli first party e quelli third-party.
Alcuni potrebbero dire che le macchine che andranno a sostituire quelle due console sono prodotti dell'era dell'austerità, in cui l'approccio della “potenza ad ogni costo” utilizzato da Xbox 360 e PS3 viene rimpiazzato da uno più misurato, che sfrutta architetture già esistenti riutilizzandole con l'intento di sfruttarne al meglio gli elementi “custom” consentiti da un ambiente chiuso come quello console. Non stupisce quindi che Sony e Microsoft, di fronte allo stesso tipo di sfida, abbiamo scelto di impiegare parti molto simili provenienti dallo stesso fornitore, basate su tecnologie esistenti (o, in caso della CPU AMD, revisioni migliorate di un processore già disponibile), e che in sostanza l'approccio fortemente evolutivo e di grande investimento che ha caratterizzato Xbox 360 e PS3 non sia presente negli hardware che andranno a sostituirle. Le differenze tra una console next-gen e l'altra saranno molto ridotte e focalizzate: Sony ha investito più massicciamente nella performance grafica, mentre Microsoft ha scelto di scommettere sulla quantità di RAM.
Sulla carta Orbis sembra al momento la macchina più potente e focalizzata sul gaming puro. Con Durango, i grandi sforzi che Microsoft ha profuso per dotare la macchina di 8GB di RAM aggiungono ulteriore credito all'ipotesi che la nuova Xbox non sia semplicemente un hardware dedicato al gioco ma che voglia invece rappresentare un media center di nuova generazione. La domanda è: quanto impatto avranno le sue caratteristiche non-gaming sulle risorse che saranno lasciate a disposizione degli sviluppatori per creare giochi next-gen?
Traduzione a cura di Luca Signorini.