Traduci gli articoli

martedì 5 maggio 2015

In-depht Xbox One: Intervista a Brad Wardell e i benefici delle DirectX 12 su One

Si è da poco conclusa la BUILD 2015 di Microsoft, evento dedicato all'ecosistema Windows, e si è parlato, ovviamente, anche di DirectX 12.

Per chi non le conoscesse, le DX12 sono le nuove API di sviluppo che saranno integrate in Windows 10, sistema operativo che arriverà questa estate su PC e in autunno-inverno anche su dispositivi mobile e Xbox One.

Una notizia positiva che certifica come Xbox One possa contare, a breve, delle nuove librerie che, secondo la maggior parte degli sviluppatori, saranno le "game changer" definitive, sia per l'approccio del software e sia per i risultati. Le DX12 aiuteranno infatti la comunicazione tra i core della CPU verso la GPU, grazie alla completa integrazione del multitasking che vede l'utilizzo di tutti i core del processore centrale "parlare" con la GPU, senza più lo sfruttamento di un solo core che faceva da "intermediario" con il processore grafico. Questo vuol dire un maggior bilanciamento delle operazioni, maggior sfruttamento di ogni singolo core e migliore comunicazione tra questi due componenti.

La BUILD ha mostrato i vari incrementi che si otterrano con le DX12 in campo PC, da configurazioni top gamma a schede video integrate ormai datate e poco performanti: in emntrambi i casi i miglioramenti saranno visibili sotto gli occhi di tutti.

Il neo, se vogliamo, è che ancora nessuno si è sbilanciato su come le DX12 funzioneranno su Xbox One, di quanto sarà grande l'incremento prestazionale e in che misura le nuove API aiuteranno la One a sbloccare del nuovo potenziale computazionale (ma che vedremo più avanti in questo articolo).

Ad eccezione di Brad Wardell, CEO di Stardock, ancora nessun esponente di Microsoft si è espresso in merito, se non con qualche dichiarazione che ha comunque certificato l'arrivo delle librerie grafiche su One e di come "la console sia stata costruita tenendo a mente le DX12".

Per Wardell è indubbio che le DX12 aiuteranno sensibilmente One a far meglio, proprio per via della natura rivoluzionaria delle nuove API:



Wardell è anche sceso più nello specifico, ammettendo però al tempo stesso di non conoscere  approfonditamente l'hardware di Xbox One e nè quali reali benefici porteranno le DX12: lo sviluppatore si è infatti basato sulla conoscenza che ha nel mondo PC e su alcune osservazioni legate al chipset di Xbox One. Ecco alcuni stralci dell'intervista di Wardell:

Le DirectX 12 aiuteranno Xbox One? Xbox One non implementa già API di basso livello derivazione delle DX12?

-Wardell: "Non ci sarà lo stesso impatto che si avrà nel campo PC, ma sì, le DX12 aiuteranno anche Xbox One. Ci sono un paio di cose che sono importanti nelle DirectX 12 per gli sviluppatori, anche riguardo Xbox One. Prima di tutto le prestazioni della console sono soggette largamente all'utilizzo della eSRAM e non c'è una cosa vera o falsa per quanto riguarda questo tipo di memoria volatile. Potreste usare bene la eSRAM o la potreste usare male, oppure non in modo adeguato. Questo fino ad oggi perchè le API attuali utilizzate per Xbox One, che sono una estensione delle DirectX 11, sono davvero scadenti per sfruttare al massimo la eSRAM. Ciò ha portato a quella che viene chiamato Resolution Gate".

Un passaggio importante dell'intervista questo, che permette di capire come allo stato attuale Xbox One non possa sfoggiare e far leva ancora su API di basso livello adeguate per il chipset della console. One, secondo Wardell, si basa proprio su una versione modificata delle precedenti DX11, inadeguate per lo sfruttamento della eSRAM che, ad oggi, è un vero incubo da gestire.


Wardell poi prosegue:

"Non ho mai sentito da Microsoft fare esternazioni pubbliche, con questo voglio dire che dovrebbero spiegare alla gente perché stanno avendo problemi a portare alcuni giochi ai 1080p nativi. Credo che non lo facciano perché la maggior parte degli utenti non capirebbe, in fondo è una cosa che ha a che fare con gli sviluppatori, e non sarebbe nemmeno corretto dire che si sta facendo un uso poco efficace della eSRAM per colpa di API acerbe. Fortunatamente le cose con le DirectX 12 cambieranno radicalmente, butteranno via quelle vecchie e inutili DirectX 11 che saranno rimpiazzate molto presto con le nuove DX12. Ecco, questo è già un fattore, di per sè, molto importante".

"Microsoft ha anche diffuso di recente un nuovo strumento (il ToolPIX, NdX-Rays), strumento che in automatico provvede alla ottimizzazione della eSRAM da parte dello sviluppatore. Non sarà più un "trial and error" dello scratchpad di One, bensì un potente tool che consentirà di sfruttare ogni singola istanza della eSRAM. In terzo luogo le DirectX 11 serializzano ancora comandi che lo sviluppatore deve sincronizzare con la GPU. E' di basso livello, ma per così come è alquanto inefficace e bisogna  ancora serializzare un sacco di chiamate verso la GPU. Detto questo però non sarà possibile ottenere lo stesso beneficio su Xbox One che si otterrà invece sul PC".

"E' completamente diverso, ma si otterrà un beneficio sostanziale. La storia della risoluzione, che a quanto pare sta particolarmente a cuore degli utenti, sarà un lontano ricordo. Questa è la cosa più importante ed è questo il motivo per cui molti utenti sono arrabbiati con Microsoft e Xbox One. Ma posso dire che non sarà come una magia. Gli sviluppatori devono ancora prendere confidenza con le DX12 e il ToolPIX, e non è che i tuoi vecchi giochi magicamente andranno più veloci e con risoluzione maggiore".


Quindi il segreto è nel come utilizzare i vari tool?

-Wardell: "Voglio fare una previsione e vi pongo un quesito. Vorrei riaffrontare la discussione da qui a un anno e le differenze saranno abbastanza evidenti. Vedrete i giochi girare su DirectX 12 e sarete in grado di confrontarli con i giochi che giravano sulle DirectX11 di Xbox One e rimarrete increduli 'Oh, diamine, sì la differenza è piuttosto evidente'".

Giochi come Ryse: Son of Rome, titolo al lancio di Xbox One, si è toccato un altissimo livello qualitativo in termini grafici, pensi che ci saranno ulteriori migliorie sul fronte tecnico? 

-Wardell: "Con la PlayStation 4 e Xbox One non si sta grattando nemmeno la superficie di quello che queste consoel possono fare... Voglio dire, su PlayStation 4 esistono già API di basso livello, però sonocome se fossero state scritte per la vecchia generazione e aggiornate per questa. Non direi che sono completamente native ancora, ma la grafica di questa generazione di console è ancora molto distante da quella che vedremo più avanti. 

Sembrerebbe che MIcrosoft dal giorno dell'annuncio delle DX12 sia ancora molto silente su come funzioneranno le API su Xbox One, è come se volessero lavorare nell'ombra, senza fornire dettagli e spiegazioni tecniche. Come mai tutta questa omertà?

-Wardell: "Con Xbox One vi sono ancora molti discorsi speculativi, questo perché non c'è un gioco che sta usando DirectX 12 sulla console, quindi non si può fare un confronto fianco a fianco. Su PC il discorso è diverso e già noi con Ashes of Singularity possiamo dimostrare le differenze tra vecchie e nuove API, ivi compresi i vari miglioramenti. Si tratta di un gioco che è stato ottimizzato per DirectX 11 e aggiornato per DirectX 12, ed è possibile eseguire il codice fianco a fianco sullo stesso hardware e ottenere un boost di prestazioni del 70% su DirectX 12 rispetto alle DirectX 11".

"Quindi è abbastanza facile per me dire di sì, si otterrà un enorme impatto su PC, ma sulla console è tutta una teoria. Non hanno nulla, forse non sanno nemmeno loro quanto sarà l'incremento su One. Ho parlato con il mio team di sviluppo su questo argomento e non siamo in grado di quantificare il tutto, molto dipenderà anche dalla bravura degli sviluppatori.


Insomma, Wardell ribadisce ancora una volta che PS4 può già contare su API "low-level", che potranno essere comunque migliorate in futuro, mentre One su questo fronte ancora arranca. Il boss di Stardock poi dice chiaramente che non è in grado, al momento, di quantificare l'incremento prestazionale che avranno le DX12 su One, nessuno lo sa di preciso, mancano benchmark e test poiché non c'è nessun gioco che sfrutti le DX12 sulla console. 

Andiamo avanti...

Sony è molta attenta a non diffondere notizie sulle API di PS4. Recentemente hai fatto riferimento alle Vulkan per PS4, cos'altro hai da dirci a riguardo? CI sarà un progresso delle API su PS4?

-Wardell: "Quello a cui mi riferivo tempo fa era proprio sulle Vulkan e PS4. Facciamo parte del gruppo Khronos e bisognerebbe chiedere a Sony per avere notizie certe. Sony vanta già API di basso livello per la PlayStation 4. Il problema principale di PS4 è che bisogna scrivere un codice molto specifico solo per la console di Sony. Questo rappresenta già di per sè un problema, perché generalmente cerco di sfruttare un ecosistema cross-platform più che posso".

"Certo ci sono ora tool di sviluppo come Unity o Unreal Engine che già convertono il codice per l'uno o l'altro formato, ma è comunque uno spreco di risorse. Considerando che, se usano qualcosa come Vulkan, non sarebbe così di basso livello come le loro API proprietarie, ma le Vulkan hanno il vantaggio che è davvero facile scrivere per esse".

Poi Wardell dice che la maggiore differenza tra PS4 e One è da ricercare nelle CU (Compute Units), 18 su PS4 e 12 su One. Wardell però, e qui si capisce, non si addentra nell'hardware di One, non fa menzione di Data Move Engines e chip di scarico, nè della particolare struttura a doppio cluster delle CU di One, rimane ancorato solo alle differenze "aritmetiche" tra i due sistemi. Il CEO di Stardock ignora palesamente quello che è contenuto nell'hardware di One, parlando quindi solo dal punto di vista di tool e del software. Allo stesso tempo ammette di trovare Xbox One più simile all'ambiente PC Windows. Inoltre PS4 non può far affidamento su tutti e 18 i CU per la grafica, dato che il bilanciamento, come confermato da Sony, è basato su 14+4 CU, con le 4 CU adibite a ruoli quali suono in-game e processi GPGPU, tutte cose che One è in grado di fare facendo affidamento su altri chip di scarico. Poi si ritorna a parlare di eSRAM e DX12.


Parlando di eSRAM, sembrerebbe che questa sia la causa dietro al resolution gate. Pensi che le DX12 aiuteranno One a rimediare a questo deficit?

-Wardell: "Sì, dovrebbero, perchè le DX11 sono un uatentico inferno per poter utilizzare bene la eSRAM. Non ho utilizzato ancora nulla su One, ma le nuove API si suppone rendano più facile la vita dello sviluppatore e dello sfruttamento della eSRAM".

Ora attenzione a questa domanda e relativa risposta:

Da quello che affermi sembra quindi che Xbox One sia stata progettata più per le DX12 che per le DX11.

-Wardell: "Le API sono uno strumento per utilizzare al meglio l'hardware. E per quello che implementavano le DX11 non è stato facile per nessuno sfruttare al meglio il chipset di One, è stato un continuo processo per tentativi ed errori soprattutto nell'utilizzo della eSRAM. Con le DirectX 12 hanno cercato di rendere più facile utilizzare l'intero hardware e i suoi componenti, in primis proprio la eSRAM, e credo che queste siano le API migliori per la console e per gli sviluppatori.

Poi si torna a parlare di Vulkan e PS4:

Pensi che Sony potrebbe abbandonare le proprie API personalizzate e passare completamente a Mantle per la PS4 in risposta alle DirectX 12 su Xbox One?
-Wardell: "No, perché le loro API sono già a più basso livello, un livello inferiore rispetto anche a quello di Mantle e Vulkan. Quindi quello che spero è che sosterranno le Vulkan.


Quindi non ci sono reali benefici vorresti dire? Meglio che Sony rimanga con le proprie API personalizzate? 

-Wardell: "Diciamo che se scrivo un gioco per Steam Box questo supporta le Vulkan, se lo scrivo per PS4 questo non accade, essendo diverse le API. Se voglio sviluppare un gioco per la PlayStation 4, devo imparare le loro speciali API, che hanno linguaggi per gli shader molto diversi da quello degli altri tool, e sono abbastanza sicuro che devo inviare roba in testo invece che in forma binaria".

"Ammetto di odiare le OpenGL, sono vecchie, obsolete, e non voglio imparare questo linguaggio. Per questo supporto unicamente le Vulkan ma non tutto il resto".

Uno dei motivi per cui le DirectX sono state in grado di rimanere importanti in tutti questi anni è perché Microsoft ha investito in ricerca e sviluppo sulle API. Detto questo, pensi che le DX12 rimarranno superiori anche rispetto le Vulkan? 
-Wardell: "Sì, perché le DirectX 12 sono un punto di svolta per tutti. Tutti le utilizzeranno su XBox One, tutti le utilizzeranno su PC. Bisogna vedere come le Vulkan saranno supportate dai produttori di hardware, dato che le DirectX 12 vantano già adesso un supporto massiccio. starà a Nvidia e Intel sostenere Vulkan. Quello che accadrà nei nei prossimi anni sarà una guerra di benchmark tra quali API saranno le più sfruttate e quali saranno le API più efficienti.


Tornando a Xbox One, credi che il cloud sarà un punto importante per la console? Le DX12 saranno di supporto in questo senso?

-Wardell: "Sì e no. Il cloud può essere fondamentale in alcuni casi specifici, per cui dico sì, è possibile. Microsoft ha solo bisogno di dimostrarlo con una demo tangibile. Allo stato attuale si è visto molto poco, ma sono sicuro che il cloud sarà una risorsa nell'immediato futuro. Si possono far eseguire via cloud, ad esempio, dei calcoli molto pesanti che alleggeriscono CPU e GPU, come nel caso del Procedurally Generated Terrain, tecnica davvero pesante anche per gli hardware più performanti. Questo lo si potrebbe mettere nel cloud, con Xbox One che riceverebbe solo la parte di codice che deve cisualizzare, lasciando tutto il resto invece nel cloud. Si visualizzerebbe una sola porzione, quella dove sta il giocatore, e non l'intero mondo, se prendiamo ad esempio un free roaming".


 Credi che con le DX12 le differenze tra One e PS4 si assottiglieranno? 

-Wardell: "Sicuramente! Ma sono sicuro che l'hardcore gamer più esasperato vedrà semrpe qualche differenza, ma credo che le futili discussioni sui social verranno meno. Se differenza ci sarà, sarà impercettibile".

Un'intervista interessante che offre scorci importanti su cose che già sapevamo da un pezzo, ma sono l'ennesima conferma, o meglio, riconferma, su come gli sviluppatori non stiano a proprio agio con le attuali API di Xbox One che, come ammesso da Wardell, sono non ancora di basso livello al pari di quelle per PS4 e che sono una dannazione per l'utilizzo sensato della eSRAM. Questi due punti sono focali perchè con le DX12 ci sarà invece un netto cambio di tendenza: nuove API, miglior sfruttamento di tutto l'hardware di One che, come detto da Phil Spencer, già in fase di progettazione si pensava a questo hardware con le DX12 in mente:


Non c'è da preoccuparsi dunque per il futuro della console di Microsoft e se vi state chiedendo per quale motivo non siano stati effettuati benchmark (cosa non vera, internamente si stanno facendo già test di portabilità delle API su alcuni titoli, tra cui Ryse: Son of Rome fatto girare su DX12 alpha e che ha reso possibile far girare il gioco a 1080p e frame rate sbloccato, o con lo stesso Fable Legends e il nuovo RTS di Snail) e perchè si parli delle DX12 solo in ambito PC la risposta è molto semplice: il PC rappresenta il mercato più grande, quello che maggiormente riceverà benefici dalle DX12 e poichè rappresenta un miscuglio di hardware inimmaginabile. 


Su One il discorso è leggermente diverso, trattandosi di un hardware immutabile. Microsoft mostrerà le cose tangibili più avanti, magari già con l'E3 2015 e coin i primi titoli che finalmente sfrutteranno le nuove API. Come dico da una vita, le DX12 aiuteranno One a ricevere un boost del 25/30%. Magia? No, affatto, ma finalmente, e non è nemmeno questa una novità, le nuove librerie grafiche pensate e sviluppate appositamente per Xbox One (e non un porting veloce e incompleto come le attuali DX11.3) permetteranno tutte quelle caratteristiche che la console è in grado di gestire e che fino ad oggi sono "dormienti". No, nessuna salsa segreta, nessuna GPU nascosta ma, realisticamente, l'utilizzo al meglio di componenti quali DME, GPUMMU, virtualizzazione delle risorse, dual lane, cloud computing, eSRAM, getione asincrona e parallela di diverse operazioni, utilizzo di tutti e 7 i core della CPU lato gaming e molto altro ancora.




Non ne parla soltanto X-Rays, ma anche giornalisti del settore, che finalmente stanno vedendo in Xbox One un oggetto ancora "incompleto" che sarà al pari, se non superiore, a PlayStation 4. Il discorso, se vogliamo, non è tanto sull'hardware, quanto sul software. Se non hai il software adeguato, puoi anche contare su 100 core e 1 TB di RAM, ma se non lo utilizzi a dovere, ci fai molto poco.

Per i grossi cambiamenti in ambito tecnologico e informatico, serve tempo, molto tempo, così come ogni tecnologia che si rispetti. Xbox One è un hardware innovativo, non strabiliante, ma al passo coi tempi e al passo con quello che sta facendo Microsoft. Un sistema virtualizzato, che è capace di modificare i suoi asset con poche righe di codice, ed è su questo che si sta muovendo l'industria delle schede video: HSA, virtualizzazione, parallelizzazione, memorie integrate HBM, riduzione di colli di bottiglia, risparmio energetico, efficienza. Il discorso è il seguente: ottenere i medesimi risultati su hardware di primo acchito meno performanti. Razionalizzazione delle risorse, massimizzazione delle risorse di cui già si dispone. Perchè implementare, per esempio, 20 ACE e 20 CU se queste non verranno mai sfruttate da un sistema? Per la precisione, non vengono utilizzate se il sistema non è "pronto", mettendo in coda i vari processi, con gli ACE che possono eseguire in quel momento solo compiti "di base", alleggerendo, ma di poco, il carico generale della GPU. Non a caso una scheda video per PC come la ADM R270 che ha meno ACE di PS4 esegue il doppio delle operazioni al secondo. Il discorso è simile a quello automobilistico, dove le city car di oggi hanno motori con meno cavalli ma non per questo meno potenti. Un 1.3 di 10 anni fa non è un 1.3 dei tempi nostri.


Il vantaggio in RAW force che ha PS4 è, infatti, solo su carta e non si vedrà mai questa differenza all'atto pratico. Sony, che di marketing ne sa abbastanza, spinge per i 1080p perché è l'unica cosa che fa vendere la console, un semplice numeretto, magistralmente interpretato (anche un po' a fortuna), che nasconde tutti i difetti che invece la consoel sta riscontrando con le produzioni moderne: 1080p sì, effetti no (anche se la situazione sta migliorando), 1080p sì ma sempre al costo di qualche cosa (NPC ad esempio). Vedere, in ultimo caso, quello relativo a Project Cars...

X-Rays

15 commenti:

  1. Grande xrays!!! Speriamo che le dx12 arrivino il prima possibile. Ma halo 5 utilizzerà le dx12. Perché se esce ad ottobre e le win 10 su one dovrebbe arrivare tra novembre e dicembre, ho qualche dubbio...

    RispondiElimina
    Risposte
    1. Allora, per i first party il problema non c'è in quanto già da qualche mese hanno i tool basati su DX12, seppur provvisori e non definitivi. Le terze parti avranno accesso a DX12 e rispettivi kit non prima di novembre/dicembre, come giustamente sottolinei anche te, poiché questo il periodo di lancio di Windows 10 su Xbox One (sarà l'ultimo dispositivo a ricevere il nuovo SO di Microsoft).

      Elimina
  2. Chiarissimo X-Rays! Attendiamo ste DX12 !!!!!😃👌

    RispondiElimina
    Risposte
    1. Un primo approccio ai giochi "DX12 oriented" lo si avrà con: Fable Legends, Forza Motorsport 6, Rise of the Tomb Raider. Gli unici giochi basati su DX12 (nemmeno definitive...) saranno FM6 e Halo 5, gli altri sono "porting".

      Il vero salto evolutivo lo avremo a inizio del prossimo anno con produzioni come Quantum Break, Gears of War 4, Scalebound e Crackdown.

      Elimina
  3. Ooh finalmente un bell'articolo come ai vecchi tempi..

    RispondiElimina
  4. Ogni volta che scrivi le verita' vengono sempre piu a galla grande.il ToolPIX, NdX-Rays fai parte di one senza saperlo X-Rays the future

    RispondiElimina
    Risposte
    1. Non esageriamo, diciamo che riporto pubblicamente quello che altri hanno paura di dire. Non mi invento niente, non creo nulla, elaboro slide e vedo video come tutti voi, ogni tanto anticipo qualcosa e ho la possibilità, a differenza di altri, di confrontarmi con le giuste persone "vicine" a Xbox e Microsoft. Nulla di più, nulla di meno :)

      Elimina
  5. Piccolo aggiornamento arrivato poco fa da Multerer, ex progettista di Xbox One che fa un'interessante disquisizione su quello a cui accennavo io sulla RAW power... Messa nuova pic, vale la pena dargli un'occhiata ;)

    RispondiElimina
  6. Domanda x-ray Fruttando xboxone con le future dx12 15 spu,data move engine,dualline,7 core cpu,audio a quanti tflops si arriva totali 3 ? grz

    RispondiElimina