GameBack

Call of Duty: Ghosts su PC: i 6 GB di RAM e il funzionamento del port

AVVERTENZA: Infinity Ward non ha rilasciato nessuna dichiarazione ufficiale su tutta la faccenda, quindi quelle che leggerete sono tutte “speculazioni” fatte da varie persone in giro per il web e da me raccolte. Il quadro finale è d’altra parte molto chiaro e verosimile, motivo per cui non credo ci sia ragione di dubitare della sua veridicità.

 

 

Call of Duty: Ghosts è uscito su PC il 5 novembre, appena quattro giorni fa, ma già è stato investito da un fiume di polemiche di varia natura. Infinity Ward si è fatta poco sentire da allora, e tutto quello che leggerete sono lamentele e teorie di normali giocatori da me raccolte, ovviamente con un minimo di criterio e facendo qualche verifica di veridicità.

 

La struttura del port: strutture old-gen e next-gen

Che qui non siamo a Digital Foundry mi pare chiaro, ma nel mio piccolo cercherò comunque di dare un senso agli aspetti tecnici della cosa, allo stesso tempo senza addentrarmici più del dovuto.

La premessa fondamentale è che Ghosts è uscito, oltre che su PC, su due diverse generazioni di console, quella PS3/Xbox 360 e la nuova, PS4/Xbox One.

Le “vecchie” versioni, girando su sistemi con una RAM minimale, devono necessariamente operare con un metodo da sistema a 32 bit: questo significa che le texture e tutti gli asset vari vengono, man mano, caricati e scaricati dalla RAM per opera del processore. È un metodo che allunga i tempi di caricamento e può dare vita a pop-up delle texture, ma è l’unico per eseguire un gioco del 2013 su apparecchi con 512 MB di RAM installata. Anche se le nuove console non sono uscite, e quindi è impossibile fare dei test su di esse, è altamente probabile che con più di 5 GB di RAM utile unicamente per il gioco l’una si sia adottato un sistema da 64 bit, che carica tutto quanto in RAM in anticipo per permettere al processore di lavorare sul resto (ad esempio fisica in tempo reale o cose del genere).

Entrambe le cose, per carità, sono la scelta migliore. Il problema è quando arriviamo al port per PC, o meglio a come è stato operato. Questo punto si collega strettamente a quello del presunto alto utilizzo di RAM, che si spiega molto più facilmente se assumiamo che il gioco su PC abbia un funzionamento simile solo a quello delle versioni next-gen, e che non sia in nessun modo contemplato il compromesso delle old-gen.

 

La questione RAM: ne serve così tanta?

Come forse saprete già, il gioco non solo riporta 6 GB di RAM come requisiti minimi, ma effettivamente impedisce anche solo di essere lanciato se tale requisito non viene riconosciuto come soddisfatto. Il che per molti si è rivelato un mistero, e ancora in parte lo è.

Alcuni utenti sull’hub Steam di Ghosts si sono interrogati sul perché di questo limite, che se prima sembrava esagerato ora appariva decisamente come una forzatura insensata. Sta di fatto che un “RAM fix” non ufficiale è uscito non molto dopo il gioco: si tratta di un .exe cracckato per eseguire la campagna in singolo aggirando il check dei 6 GB, anche se i settaggi grafici vengono bloccati su minimo. E, sorpresa, il gioco funziona perfettamente anche su PC con 4 GB di RAM, o addirittura meno.

 

Screenshot realizzato da BlackRockShooter, utente di Steam che afferma e dimostra di avere, grazie alla crack per aggirare il blocco, completato l’intera campagna in singolo di Ghosts su un pc con 4 GB di RAM installati (restando su 60 fps costanti)

 

E sottolineo: il singolo funziona perfettamente. Per ora è impossibile un esperimento simile sull’online, perché un .exe cracckato per esso non esiste, e in ogni caso non permetterebbe di giocare sui normali server, richiedendo anche la creazione di server cracckati… una cosa che, per quel che so, ancora non è stata fatta da nessuno, o almeno non è stata diffusa pubblicamente.

 

Visto che il gioco, nel grosso dei casi, semplicemente non sembra usare tanta RAM, e di sicuro 6 GB non è il minimo necessario, il senso di questa imposizione sembra sempre più oscuro. In ogni caso Activision (dopo aver fatto rimuovere da internet con la forza il RAM fix non ufficiale) ha dichiarato di stare lavorando su una patch per eliminare il blocco. Staremo a vedere.

 

L’uso della VRAM: la chiave del mistero

La cosa che più ha lasciato esterrefatti alcuni utenti che si sono impegnati a studiare un po’ più a fondo il funzionamento del gioco è la quantità di VRAM che Ghosts può arrivare ad occupare. Per chi non lo sapesse, la VRAM altri non è che la RAM dedicata alla scheda video; i requisiti minimi del gioco, per la cronaca, rimandano a una scheda (Nvidia GTS 450) con 1 GB installato di VRAM.

Ora, un utente di Steam di nome FUS-RO-DAH Pro si è preso l’impegno di monitorare con PlayClaw l’impiego di risorse di Ghosts con tutte le opzioni grafiche al massimo. Il risultato è stato abbastanza inaspettato.

 

A destra vedete Battlefield 4, con tutti i settaggi video al massimo e MSAA 4x, risoluzione 4k: tra 3 e 4 GB di RAM, 2,6 GB di VRAM.

A sinistra invece c’è Ghosts, tutti i settaggi al massimo, TXAA 4x e HBOA+, e una risoluzione di “solo 2560×1080: sempre tra 3 e 4 GB di RAM, 6 GB di VRAM.

 

In sostanza, alla metà della risoluzione (meno di un terzo dei pixel) Ghosts consuma più del doppio della VRAM di Battlefield 4. E questo è ufficialmente un serio problema, soprattutto visto il livello visivo del titolo di Infinity Ward. Entrambi i giochi, per inciso, stanno anche girando su un i7 da 4,8 GHz.

La cosa si è potuta notare solo perché l’utente in questione ha un PC con sia 8 GB di RAM che uno sproposito di VRAM, nel qual caso con ogni probabilità i reali utilizzi delle due si distribuiscono abbastanza “veridicamente”.

 

Conclusioni

Se ancora ci avete capito poco, datemi il tempo di mettere insieme i pezzi. Sottolineo ancora una volta che per quanto i dati che ho usato siano decisamente comprovati questo discorso è una speculazione, nulla di ufficiale o che saprei dimostrare io stesso in modo inconfutabile. Ad ogni modo, questo è quello a cui i suddetti sono arrivati e che io riporto, pur dandogli decisamente credito.

 

I problemi della versione PC di Ghosts sono principalmente due:

 

Unendo queste due cose, entrambe che pesano direttamente sull’uso di memoria, si arriva ad un consumo di RAM e VRAM sommate di circa 9 GB coi settaggi massimi e tra i 5/6 coi settaggi minimi. Quindi, la richiesta di 6 GB di RAM è pensata per “nascondere” il peso spropositato sulla VRAM, requisito che quasi nessuno riuscirebbe a soddisfare e che viene scaricato sulla normale RAM di sistema.

In altre parole, al posto di ottimizzare l’utilizzo di VRAM si scarica semplicemente tutto su VRAM e RAM insieme, suddividendo. Per questa ragione chi magari si ferma a solo 4 GB di RAM ma ha una scheda molto superiore a quella dei requisiti minimi riesce ugualmente a giocare perfettamente con dei settaggi medi, perché non avviene una tracimazione della VRAM sulla RAM, o almeno non una così violenta.

La cosa per giunta si vede molto con i settaggi alti, ma relativamente poco con quelli bassi; il che rende ancora più inspiegabile la volontà di applicare il blocco al lancio.

 

In parole ancora più semplici, quella quantità assurda di RAM è il prezzo chiesto agli utenti per il mancato lavoro di Infinity Ward, in primo luogo l’ottimizzazione quasi nulla della VRAM, ma anche l’assenza di un sistema di caricamento in RAM in streaming.

Eliminare il blocco è ora l’unica cosa giusta da fare, perché si stanno punendo senza ragione tutti quegli utenti che sono perfettamente in grado di far pari della mancata RAM con la VRAM/scheda video. Rimane un mistero il perché il blocco sia stato in primo luogo creato, e qualsiasi cosa succeda nulla toglie che il port di Ghosts è stato realizzato in modo sia sbrigativo (solo struttura 64 bit) che grossolano (pessima ottimizzazione).

 

Fonti:

Discussione su Steam 1

Discussione su Steam 2