Titanfall: analisi delle prestazioni dopo l'Update 5
L'ultima patch annunciava “deliziose ottimizzazioni al frame-rate”. Promessa mantenuta?
Due giorni fa Respawn ha distribuito il quinto aggiornmento di Titanfall, sistemando tutta una serie di problemi ma soprattutto promettendo un significativo aumento delle performance. Lo sviluppatore afferma che la patch include “molte ottimizzazioni riguardanti banda e frame-rate… realizzate con cura e infuse nel gioco”.
Musica per le nostre orecchie. Titanfall resta infatti uno degli shooter multiplayer più intensi sul mercato a prescindere dalla piattaforma su cui giri, fornendo un'esperienza eccellente anche su Xbox 360. Dal punto di vista tecnico ci sono però evidenti problemi da risolvere, a partire dalle prestazioni su Xbox One.
Il nuovo update arriva alcune settimane dopo il rilascio dell'XDK di giugno da parte di Microsoft, una pietra miliare che permette agli sviluppatori di escludere le risorse della GPU riservate al Kinect per reindirizzarle ai giochi. Anche se i tempi lo consentono, non si può dire con certezza se Respawn abbia utilizzato o meno il nuovo XDK. In una precedente intervista del Digital Foundry, Richard Baker ha discusso la cosa con noi:
"Parlavano di averlo disponibile per il lancio e credo che ci fossero alcuni problemi per il modo in cui avrebbe funzionato”, ha detto. “Non è stato pronto per il lancio ma lo sfrutteremo sicuramente se ce ne daranno la possibilità. Il piano è renderlo opzionale, in quel momento lo useremo per il nostro gioco e dovremmo riuscire ad aumentare la risoluzione in maniera proporzionale”.
L'opzione è ora visibile ma da un playthrough iniziale è chiaro che la risoluzione resta sui 1408x792 pixel del codice di lancio, con lo stesso MSAA (multi-sampling anti-aliasing) x2. Esaminando alcune sequenze con i nostri strumenti di analisi si nota un chiaro miglioramento nel frame-rate ma ci chiediamo se i giocatori li noteranno. La performance si mantiene principalmente tra i 40fps e i 60fps e si verificano ancora cali fino a 30fps nei casi in cui l'engine sia veramente sotto pressione.
In effetti non ci sono miglioramenti che cambino sensibilmente il gioco, al punto che alcuni utenti potrebbero chiedersi se queste ottimizzazioni ci siano davvero. È un aggiornamento difficile da testare a causa del gameplay dinamico di Titanfall. Grazie alla natura multiplayer del gioco non ci sono due sessioni uguali, di conseguenza il test su sequenze identiche non è possibile. Solo nelle sezioni introduttive di ogni livello possiamo provare le performance in questo modo ma questi spezzoni non sono rappresentativi del gameplay e il motore è raramente sotto sforzo in queste situazioni.
L'eccezione è la sequenza veramente brutale del penultimo livello, la Battaglia di Demetra, giocata dalla prospettiva della Milizia. Il tutto si apre con lo schianto del trasporto truppe e una sequenza scriptata interattiva che fa lavorare il motore come nient'altro. I personaggi assaltano la città in compagnia di un Titano che irrompe nelle mura prima di esplodere. È una sequenza che può essere ripetuta per misurare le prestazioni e che ha prodotto l'interessante immagine che potete vedere in basso, in cui vediamo che l'Xbox 360 fornisce una prestazione migliore dell'Xbox One nelle stesse condizioni.
La selezione del livello della campagna è stata rimossa con l'Update 5, quindi acquisire nuovamente questa sequenza è stato… impegnativo. I risultati sono comunque intriganti, variando dal nulla a circa il 10%, con i 46fps di Update Four che diventano 51fps nell'Update 5. Visto il forte tearing è però difficile rilevare la differenza.
La sequenza dimostra anche le sfide insite nel processo di ottimizzazione. Si dà più o meno per scontato che più potenza della GPU (tramite la restituzione delle risorse prima riservate a Kinect) implichi un aumento automatico delle prestazioni. Ma se fosse la CPU il limite? Guardate le immagini in basso e controllate il grafico del frame-time sulla sinistra. Quel valore misura in millisecondi il tempo di permanenza di ogni fotogramma su schermo ed è un indicatore della fluidità dell'azione. Visto che il gioco gira con la sincronia verticale disabilitata e le risorse richieste dalla GPU non cambiano di molto da un fotogramma all'altro, l'ovvia conclusione è che, almeno in questa sezione, il problema potrebbe essere la CPU.
In effetti Richard Baker di Respawn lo ha confermato al lancio, in un'intervista con PC Hardware.
"Stiamo tentando di distribuire meglio il rendering delle particelle su più core”, ha dichiarato Baker. “Il frame-rate cala quando molti oggetti, la cui fisica viene simulata, volano per l'area e ci sono tantissime particelle su schermo. Stiamo quindi lavorando per migliorare questi due sistemi”.
Sospettiamo che alcune ottimizzazioni di questo tipo siano state apportate con l'Update 5 ma il problema è che pur risolvendo un collo di bottiglia, il gioco potrebbe semplicemente trovarne un altro. Quando alcuni elementi sono visti singolarmente rileviamo dei miglioramenti di spessore nelle prestazioni. Ad esempio l'introduzione della missione che potete vedere più in basso, Piovono Draghi, non è impegnativa come la Battaglia di Demetra, ma c'è una parte della sequenza in cui le performance ballano per un breve periodo.
Noterete come con l'introduzione dell'Update 5 questo problema sia stato totalmente risolto, con 60fps fissi lungo tutta la sequenza. In questo caso il collo di bottiglia è stato sistemato e non ci sono altri problemi nella simulazione della scena da parte della CPU e nella renderizzazione della GPU che possano impattare il frame-rate.
L'Update 5 è un esempio interessante delle sfide che gli sviluppatori affrontano durante il processo di ottimizzazione. Semplificare un particolare sistema può apportare dei benefici ma venire limitato da un altro collo di bottiglia dietro l'angolo. La nostra impressione iniziale della patch (24 ore dopo aver acquisito del materiale dall'Update Four) è che le prestazioni siano sì migliorate ma che la presentazione del gioco sia rimasta praticamente inalterata. L'analisi suggerisce che sia effettivamente così e sospettiamo che, potendo misurare sequenze di gameplay identiche su un'ampia serie di filmati, rileveremmo un incremento nella media del frame-rate. Il diffuso tearing resta comunque un problema e dà l'impressione di un'esperienza identica a prima.
Non è chiaro se l'XDK di giugno sia stato utilizzato per questo aggiornamento. Se così fosse, i pochi miglioramenti contrasterebbero in maniera interessate con le dichiarazioni di Bungie sull'incremento di risoluzione di Destiny da 900p a 1080p. Per la cronaca, la nostra opinione sull'XDK è molto semplice: restituire delle risorse di rendering pressoché inutilizzate agli sviluppatori è ovviamente un bene ma non è una panacea che cambierà tutto. Crediamo che l'incremento di risoluzione di Destiny dipenda più dall'ottimizzazione, e che un 10% di risorse supplementari della GPU sia un utile strumento aggiuntivo. Sebastian Aaltonen di RedLynx ha ben spiegato la situazione, rivelando che il team ha cominciato a lavorare a una risoluzione più bassa, aumentandola poi gradualmente una volta sicuro di ottenere le prestazioni volute.
"I giochi di lancio non mostrano mai il vero potenziale a lungo termine delle console. 60fps costanti sono un traguardo molto difficile da raggiungere per qualsiasi titolo di lancio. Gli sviluppatori devono cominciare a programmare i loro motori next-gen prima di avere accesso all'hardware finale. Bisogna basarsi su molte ipotesi e non è facile azzeccarle tutte”, ha dichiarato Aaltonen.
"Nel nostro caso abbiamo cominciato a 720p su entrambe le console next-gen perché volevamo assicurarci di poter rifinire le meccaniche e la fisica del gioco utilizzando una build che girasse fluidamente. Raggiungere il frame-rate a cui puntavamo (60fps) per noi era più importante di ottenere una certa risoluzione all'inizio del progetto”.
Ottenere 60fps costanti è una vera sfida. L'Update 5 dimostra che Respawn ha fatto progressi ma che c'è ancora molta strada da fare.