Cosa serve per far girare Batman: Arkham Knight fluidamente su PC? - articolo
Il Digital Foundry spiega come ottenere il meglio dalla versione PC.
È possibile far girare l'attuale versione PC di Batman: Arkham Knight a 60fps a una qualsiasi risoluzione? Si può eguagliare il profilo prestazionale a 30fps delle versioni console senza investire una piccola fortuna in hardware? Rocksteady e Iron Galaxy (sviluppatori della conversione PC) stanno attualmente lavorando nel migliorare sostanzialmente le prestazioni del gioco, che è stato ritirato dal mercato. Ma cosa possono fare quelli di noi che hanno il codice esistente per ottenere un'esperienza decente?
La community sta facendo la sua parte nel migliorare le cose. Questa disamina approfondita delle variabili contenute nel file .ini offre alcuni miglioramenti ma nelle aree problematiche registriamo cali sotto ai 40fps che non reggono il confronto con la stabilità delle versioni console. Chi non è così sensibile agli scatti che abbiamo sperimentato troverà utili gli accorgimenti di Kaldaien ma se si potesse sistemare il gioco tramite i file .ini, gli sviluppatori l'avrebbero probabilmente già fatto. Dopotutto, le correzioni più semplici come la reintroduzione degli effetti di pioggia e l'occlusione ambientale che mancavano nella versione di lancio è stata effettuata tramite una patch distribuita il 27 giugno.
Arkham Knight su PC ha seri problemi che sembrano derivare da un approccio non ottimale alla gestione della memoria. Su console gli sviluppatori hanno a disposizione 5GB di memoria per gioco e grafica. Su PC la memoria è divisa tra RAM di sistema e VRAM della GPU. Vari segnali indicano che il codice fatichi su schede grafiche da 2GB di memoria o meno (in maniera eccezionale con alcune schede AMD, come vedremo tra poco). Inoltre ci sono altri problemi: i requisiti in fatto di CPU sono molto alti nonostante un utilizzo che le misurazioni indicano come basso, e le texture trasparenti (fumo, esplosioni, etc.) hanno un impatto maggiore del previsto sulle risorse della GPU.
Nonostante ciò, in base alle nostre esperienze, prestazioni ed effetti grafici di Arkham Knight su PC possono eguagliare e perfino surclassare le versioni console, ovviamente a seconda dell'hardware che si possiede. Il gioco abbisogna chiaramente di miglioramenti radicali ma può girare in maniera accettabile su comuni PC da gioco. Per ora è necessario fare di necessità virtù e accettare il fatto che i 30fps restano la soluzione migliore per un'esperienza stabile. Anche in questo caso, però, c'è un problema: persino il limitatore integrato per i 30fps di Arkham Knight ha bisogno di essere sistemato.
Il cap a 30fps delle versioni console è ben implementato. Il concetto è semplice: ogni nuovo fotogramma viene seguito da un duplicato, e il ciclo si ripete. Ogni fotogramma dovrebbe persistere per 33ms, due aggiornamenti dello schermo su un monitor a 60Hz per assicurare un aggiornamento stabile. Nelle rare occasioni in cui la renderizzazione di un fotogramma non viene completata in tempo, il gioco blocca la sincronia verticale e visualizza l'immagine non appena questa è pronta. Ciò avviene durante l'aggiornamento dello schermo con la generazione di tearing, e avviene raramente su PS4 e Xbox One.
La versione PC di Arkham Knight è fatta per generare 30 fotogrammi al secondo ma non si cura particolarmente di come essi vengano visualizzati. Con la sincronia verticale abilitata i fotogrammi vengono generati a intervalli di 16ms, 33ms, 50ms e a volte a intervalli ancora più lunghi. Anche se il gioco gira a 30fps sembra molto più lento a causa della mancanza di fludità. È possibile migliorare le cose disabilitando la v-sync ma in questo caso il tearing è costante a differenza di quanto accade su console.
La soluzione? Prima di tutto bisogna disabilitare la forzatura del cap a 30fps integrata nel gioco. Trovate la cartella d'installazione (cercate in Steam Apps\Common nella directory Program Files) e aprite il file BmSystemSettings.ini nella cartella Batman Arkham Knight\BmGame\Config. Da qui, cercate la stringa "Max_FPS=30" e cambiatela in qualcosa come "Max_FPS=120". A questo punto, per gil utenti Nvidia è molto facile abilitare un limite a 30fps come si deve. Cliccate col tasto destro del mouse sul desktop, selezionate il pannello di controllo Nvidia e, sotto le impostazioni 3D, selezionate l'eseguibile di Arkham Knight. Sotto la voce v-sync, scegliete l'opzione “half-rate adaptive”.
Questa soluzione adotta praticamente la stessa strategia di rendering delle versioni console per ottenere 30fps con sincronia verticale e tearing presente solo quando il renderer sfora il tempo massimo per un fotogramma. Per vedere il sistema in azione nelle problematiche sequenze sulla Batmobile, date un'occhiata ai video in questa pagina. È l'unica soluzione che ci porta al livello dei 30fps delle versioni console, e i risultati sono gli stessi sia che si usi un hard disk meccanico che un SSD. In generale abbiamo ottenuto prestazioni decenti con un Core i3 4130 e una GTX 750 Ti (la nostra configurazione PC budget), ma una macchina con Core i5 quad-core e GTX 960 ci ha fornito una fluidità pari o anche leggermente superiore alla versione PS4, e in più abbiamo potuto utilizzare due dei quattro effetti GameWorks.
Una caratteristica fondamentale dei PC è però la scalabilità, e vogliamo vedere dei ritorni dagli hardware più costosi. Se siamo limitati a 30fps per un gameplay abbastanza libero da scatti, che opzioni abbiamo a disposizione per sfruttare hardware di fascia più alta? Ovviamente la risoluzione fa una grossa differenza: i cicli della GPU, invece che per frame-rate più alti, possono essere utilizzati per girare a 1440p o anche a 4K, posto che il vostro hardware ne sia capace. Gli utenti Nvidia potrebbero farsi tentare dal DSR, il rendering a una risoluzione molto più alta a livello driver con successivo ridimensionamento dell'immagine alla risoluzione nativa del monitor. Ciò permette un'immagine più raffinata, particolarmente in termini di anti-aliasing. Purtroppo la cattiva notizia è che nei nostri test il DSR ha eliminato l'utilità della sincronia verticale adattiva, producendo degli scatti.
È possibile aggiungere delle funzioni Nvidia GameWorks come effetti migliori di fumo e detriti di carta aggiuntivi. Bizzarramente, queste funzioni sembrano attivarsi in una variante DirectX 10 del codice, e ancora una volta il risultato è l'azzoppamento della sincronia verticale adattiva che abbiamo utilizzato per rendere più fluido il frame-rate. Pioggia migliore e raggi crepuscolari sono invece utilizzabili, e la buona notizia è che questi due effetti sono disponibili anche per gli utenti AMD. La cattiva notizia è che le risorse della GPU consumate non corrispondono a un salto in avanti paragonabile della qualità grafica.
Qual è la situazione per i possessori di hardware grafico AMD? Le specifiche diffuse da Warner Bros. suggeriscono un minimo di 3GB di VRAM per giocare a 720p (!). I nostri test su una serie di GPU Radeon hanno dipinto un quadro generalmente più incoraggiante ma restano da correggere dei problemi fondamentali. Prima di tutto, la R9 280 da 3GB si è prodotta in prestazioni decenti a 1080p con impostazioni equivalenti a quelle consoe e abbastanza margine per gli effetti aggiuntivi di pioggia e raggi crepuscolari. La R9 380, sia da 2GB che da 4GB, ha invece prodotto alcuni tra gli scatti peggiori che abbiamo visto. Date un'occhiata all'analisi del gameplay su Batmobile in basso, acquisita con frame-rate sbloccato e sincronia verticale disabilitata. La R9 380 ha dei problemi molto seri e questo vale anche per la R9 285, basata sullo stesso processore Tonga.
Gli scatti, pur se meno catastrofici, sono presenti anche sulla R7 265 basata sul chip Pitcairn presente nelle HD 7850, 7870, R9 270, 270X e 370. Stessa cosa per la 260X. Sospettiamo che ciò dipenda dalla limitazione di memoria di 2GB e da qualcosa di meno chiaro per R9 380 ed equivalenti (per le quali i 4GB non aiutano). Abbiamo provato anche la R9 290X, basata sul processore Hawaii (montato su 290, 390 e 390X): i risultati non sono stati male, probabilmente perché ai 4GB si accompagna una decente potenza di calcolo.
Purtroppo non siamo riusciti a far funzionare alcun tipo di sincronia verticale adattiva sulle schede AMD. Non è una funzione presente nel driver, pur essendolo nello strumento third party Radeon Pro che però non ha funzionato a 30Hz con il gioco. È un peccato, visto che è l'unico modo per ottenere prestazioni decenti in grado di eguagliare le versioni console di Arkham Knight.
Secondo i nostri test è chiaro che la versione PC di Batman: Arkham Knight sia capace di girare come su console ma per mantenere i 30fps sono necessari componenti più potenti di quanto ci aspettassimo, e avvicinarsi ai 60fps è fuori discussione (abbiamo provato anche con un Core i7 4790K overclockato e Titan X da 12GB, ma niente da fare). L'attrattiva del PC è la sua scalabilità intrinseca, la possibilità di plasmare l'esperienza di gameplay a seconda dei propri bisogni specifici e, ovviamente, del proprio hardware. Arkham Knight è un assalto su più fronti a questa caratteristica della piattaforma: è troppo esigente in fatto di CPU, estremamente selettivo per quanto riguarda l'hardware grafico necessario a farlo girare efficacemente, e limita molto le strade percorribili in termini di scalabilità.
Cosa faranno Warner Bros, Rocksteady e Iron Galaxy? Oltre all'ottimizzazione dal lato CPU, è richiesta una rivisitazione del modo in cui i dati vengono trasmessi. C'è bisogno di supporto estensivo per una serie di hardware grafici, incluse le schede AMD da 2GB, e un robusto controllo qualità per assicurarsi che i risultati disastrosi visti nei test di R9 285 e 380 vengano risolti. Ci sono state promesse altre funzioni della GPU da calibrare: resta da vedere quali ma perlomeno ci piacerebbe avere a disposizione il supporto per un miglior filtering delle texture (il gioco utilizza un filtro 4x) e un anti-aliasing più raffinato, visto che la tecnica di AA utilizzata in Arkham Knight potrebbe essere migliore. Infine, se gli sviluppatori decidessero di mantenere il limite a 30fps, e pensiamo che in generale sia una buona opzione da avere a disposizione, una distribuzione omogenea dei fotogrammi sarebbe d'obbligo.
Ci sono comunque dei motivi per essere ottimisti. Se abbiamo dimostrato qualcosa, è che la struttura della conversione è utilizzabile, un qualcosa di simile a un codice beta se vogliamo. È completa quanto a funzioni e funzionale, anche se solo su alcuni hardware. Affidare la conversione di un titolo così importante in outsourcing è stato chiaramente un errore determinante ma Rocksteady è ora direttamente coinvolta e si è assunta la responsabilità del lavoro. Nonostante alcuni problemi con le DirectX 11 di Arkham City, le versioni PC dei precedenti titoli della serie erano molto buone. Ci vorrà parecchio prima che Arkham Knight su PC sia pronto per un nuovo lancio, nel frattempo possiamo solo sperare che Warner Bros e altri publisher abbiano preso nota dell'accaduto e imparato la lezione.