Digital Foundry vs retrocompatibilità su Xbox One - articolo
Esaminiamo il miracolo tecnologico di Microsoft.
Quando Microsoft ha annunciato che la retro-compatibilità sarebbe arrivata su Xbox One entro quest'anno, ha lasciato più o meno tutti a bocca aperta. Anche escludendo il lavoro necessario per mappare le funzioni della GPU di Xbox 360 sull'hardware completamente diverso di Xbox One, la sola idea di convertire per i sei core Jaguar X86 a bassa potenza i titoli creati per la CPU PowerPC tri-core da 3,2 GHz originale sembra una missione impossibile... Eppure, gli ingegneri di Microsoft ce l'hanno fatta. In diversi casi il risultato non è perfetto, ma il fatto che la virtualizzazione funzioni è un traguardo complessivamente straordinario.
A differenza di quanto avvenuto con la retro-compatibilità "a macchia di leopardo" di Xbox 360, che richiedeva un software intermedio custom per ogni titolo, Microsoft ha utilizzato un approccio molto più esteso, tramite l'utilizzo di una virtual machine che gira su Xbox One come gioco a sé stante. Questo ambiente virtuale include le feature di OS di Xbox 360, anche se queste non sono disponibili all'utente, e consente dunque al programma di comportarsi esattamente come se stesse girando sull'hardware originale. A questo punto l'Xbox One vede questa "app" Xbox 360 come se fosse un gioco e consente dunque di impiegare feature come la cattura di screenshot o lo sharing di video. L'emulatore supporta sia download digitali che i DVD originali, ma i dischi funzionano semplicemente come chiave di attivazione: i dati verranno poi scaricati da Internet tramite Xbox Live.
Al momento la retro-compatibilità è ancora in fase di preview e supporta soltanto una manciata di titoli. Tra i giochi disponibili, alcuni report indicano che attualmente solo i dischi americani o region-free funzionano correttamente, a prescindere dall'origine della console (noi abbiamo impiegato dischi USA per questo articolo). Inoltre, Microsoft sta ancora lavorando ad una soluzione per rendere possibile il supporto a titoli multi-disco, che attualmente non funzionano. La maggior parte dei titoli iniziali sono piuttosto semplici e non richiedono grande sforzo da parte della virtual machine, ma ce ne sono anche alcuni piuttosto impegnativi, come ad esempio Mass Effect e Perfect Dark Zero. Noi abbiamo colto l'occasione per mettere alla prova diversi di questi titoli, tentando di spingere al limite le capacità della VM per meglio comprenderne i punti di forza e le debolezze.
La prima cosa che abbiamo notato è il fatto che la qualità d'immagine rispecchia l'output standard a 1080p, con un paio di differenze. Soprattutto i livelli di contrasto sono leggermente aumentati su Xbox One ma è anche introdotto un lieve effetto di sharpening. Per fortuna, queste differenze si manifestano solo quando le due versioni sono confrontate direttamente e di certo non degradano la presentazione complessiva. Infine, a differenza di quanto avveniva con l'emulazione della prima Xbox su Xbox 360, qui non troviamo miglioramenti alla qualità d'immagine, e probabilmente non ne troveremo mai.
Questo però non significa che altri miglioramenti o cambiamenti non siano possibili. Per esempio, un potenziale bonus deriva dal fatto che tutti i titoli Xbox 360 riprodotti su Xbox One non abbiano alcuna forma di tearing dello schermo. I titoli che in precedenza mostravano questo artefatto ora beneficiano di un v-sync costantemente attivato. Sulla carta, questa sembrerebbe una feature molto positiva, ma purtroppo ha delle conseguenze sul frame-rate. Per riuscire a capire meglio i pregi e i difetti della virtual machine, prima di passare ad un'analisi più approfondita di ogni singolo titolo, osservate la galleria di immagini qui sopra, con alcuni confronti diretti che evidenziando le differenze maggiori.
Mass Effect
I giochi attualmente disponibili sono piuttosto limitati, quindi non è una sorpresa che per effettuare la dimostrazione alla conferenza di Microsoft sia stato scelto proprio Mass Effect. Trattandosi del'unico titolo basato su Unreal Engine 3, eravamo ansiosi di scoprire come questo motore molto popolare si comporta nell'ambiente virtuale, specialmente se si considera il forte carico posto sulla CPU dalle sue prime incarnazioni. Dobbiamo ricordare che, essendo un titolo uscito abbastanza presto nel ciclo vitale di Xbox 360, Mass Effect soffriva di un tearing piuttosto abbondante, un forte pop-in delle texture ed evidenti problemi di frame-rate: tutte questioni che sono state migliorate nei capitoli successivi. Il risultato su Xbox One è molto interessante e in parte inaspettato.
Dal lato positivo, si nota un netto miglioramento sia nei tempi di caricamento che nello streaming delle texture. Abbiamo anche rilevato qualche lieve cambiamento anche all'illuminazione dei personaggi e alla resa di certi effetti, ad esempio quelli di trasparenza usati durante la cut-scene introduttiva, che hanno un aspetto diverso su Xbox One.
Poi c'è da parlare delle performance, ed è qui che le cose si fanno veramente interessanti. Le impressioni iniziali sono positive, con un frame-rate nettamente migliorato durante le cut-scene. Come abbiamo già detto, l'emulatore forza il v-sync su tutti i titoli 360 ed elimina dunque ogni traccia di tearing. Sull'hardware Xbox 360, il gioco impiega un v-sync dinamico che consente l'introduzione di frame spezzati quando il frame-time manca il suo target di 33ms. Eliminare il tearing sembra un'ottima cosa sulla carta ma appena si affronta il gameplay vero e proprio le conseguenze risultano evidenti.
Allo stato attuale, durante i combattimenti e l'esplorazione, il gioco gira circa il 30% più lentamente su Xbox One, con una discrepanza che può raggiungere anche i 5-10fps. Dal momento che l'esperienza originale era già tutto fuorché impeccabile, il risultato è che il titolo risulta a tratti ingiocabile su Xbox One. Durante una sequenza specifica (lo scontro sul treno della prima missione) il frame-rate è sceso fino a 10fps. Sospettiamo che la colpa sia, almeno in parte, del v-sync forzato, anche se spesso i problemi di prestazioni dei vecchi titoli basati sull'Unreal Engine 3 sono dovuti ad inefficienze della CPU. Siamo molto curiosi di scoprire come la virtual machine evolverà nel corso dei prossimi mesi e non vediamo l'ora che arrivino altri titoli UE3 da testare, ma per ora dobbiamo dire che l'esperienza con Mass Effect non è affatto soddisfacente.
Status: Performance non ottimale, a tratti ingiocabile.
N++
N++ è uno dei titoli Xbox Live Arcade più vecchi tra questo primo pacchetto: si tratta, in sostanza, della conversione di un vecchio titolo in Flash. Il risultato su Xbox One è divertente come sempre, anche se presenta dei problemi di performance singolari. Su Xbox 360 il gioco gira a 60fps inchiodati, dai menu al gameplay vero e proprio, ma su Xbox One la situazione è diversa. Durante la nostra prova abbiamo incontrato uno stutter quasi costante, che produce un impatto tangibile sul gameplay. Stranamente, però, il problema riguarda soltanto metà dei livelli testati: alcuni, infatti, girano alla perfezione. Anche il contrasto maggiore e l'aggiunta del filtro di sharpening risultano più evidenti in questo titolo. A parte questi dettagli, la grafica è sostanzialmente identica.
Status: Giocabile, con qualche problema di performance.
Perfect Dark Zero
Il famigerato Perfect Dark Zero (un seguito che sfortunatamente non riuscì a rispecchiare i livelli qualitativi dell'originale) fu il secondo titolo rilasciato da Rare in contemporanea con l'uscita di Xbox 360. Il gioco ha sempre avuto diversi problemi: un frame-rate piuttosto basso con abbondanti dosi di tearing, una risoluzione ridotta a 1152x640 senza anti-aliasing e infine uno stile visivo discutibile. Nonostante ciò, per un titolo di fine 2005, offrì anche spunti tecnici interessanti, come le parallax occlusion map, un motion blur ad alta qualità degli oggetti e degli effetti di luce piuttosto impressionanti (è stato il primo gioco Xbox 360 ad usare il deferred lighting, almeno a nostra conoscenza). La buona notizia è che la resa grafica è intatta su Xbox One.
Come accade in Mass Effect, anche qui Xbox One forza il v-sync, rimuovendo il tearing. Considerando quanto fosse presente questo problema su Xbox 360, si tratta di un miglioramento molto importante. Sfortunatamente, però, anche il frame-rate ne risulta ridotto come in Mass Effect. La discrepanza media è di 4-6fps durante le scene più complesse, ma in questo caso il tearing era talmente fastidioso nella versione originale che il sacrificio vale comunque la pena e il gioco, nel complesso, risulta sicuramente più solido su Xbox One. Possiamo solo sperare che l'emulazione venga migliorata fino a consentire un frame-rate più fluido anche con v-sync attivo, dal momento che questa feature è in grado di trasformare letteralmente l'esperienza con alcuni titoli.
Status: Qualche problema di performance, ma l'esperienza è comunque migliore che su Xbox 360.
Retro-compatibilità su Xbox One: prime impressioni
Portare la libreria di titoli Xbox 360 sulla nuova piattaforma Microsoft è un traguardo tecnologico incredibile, al punto che ci chiediamo come abbiano fatto gli ingegneri e i programmatori a raggiungerlo. Al riguardo, abbiamo un paio di teorie. Innanzitutto sospettiamo che l'insistenza di Microsoft sul fatto che gli sviluppatori Xbox 360 impiegassero le API DirectX 9 abbia giocato un ruolo importante. Senz'altro tale approccio ha aiutato a creare un percorso più diretto per mappare le istruzioni delle GPU da una generazione di processori alla successiva (ma si ignora allora cosa succederà con i titoli più recenti, che impiegavano un misto di DX9 e codice a basso livello specifico per l'hardware 360).
La questione più interessante, però, è il come Microsoft ha virtualizzato la CPU: replicare un processore PowerPC tri-core da 3.2 GHz su un cluster hex-core a 1.75 GHz dev'essere stato un compito mostruosamente difficile. Per quanto ne sappiamo, la CPU di Xbox 360 ha due thread per core e il threading è gestito in modo piuttosto primitivo, con il processore che lavora effettivamente come sei thread a 1.6 GHz. Possiamo dunque immaginare che la virtual machine assegni un thread ad ognuno dei core x86 e da lì prosegua il lavoro. Ad ogni modo, speriamo che presto Microsoft voglia parlare più apertamente dei dettagli di questo miracolo tecnico: la nostra porta è sempre aperta.
Al momento, comunque, la virtual machine funziona (come ci si può aspettare da un codice preview ancora incompleto) e il solo fatto che ciò avvenga è davvero stupefacente. Questo, però, non significa che non ci siano ancora dei problemi da risolvere. Guardando in particolare a Mass Effect, non possiamo che chiederci se l'attuale virtualizzazione della CPU sia veloce quanto dovrebbe. Chiaramente c'è ancora del lavoro da fare ma la feature dovrebbe diventare ufficialmente disponibile tra diversi mesi e dunque i programmatori hanno ancora tempo per perfezionare il loro lavoro. Anche considerando gli attuali difetti, comunque, lo stato delle capacità della virtual machine è notevole: quei rari ma preziosi momenti in cui la performance su Xbox One riesce a superare quella di Xbox 360 ci fanno ben sperare per il fatto che, a lungo termine, per alcuni giochi l'esperienza potrebbe migliorare significativamente. Non sappiamo quanto l'attuale virtual machine possa essere migliorata ma terremo sotto stretta osservazione i progressi di questa nuova e interessante feature e non mancheremo di aggiornarvi sulle prossime novità.