Intervista con Chuck Walbourn

C'è qualche differenza tra i 32 e i 64 bit per i videogiochi? Abbiamo testato alcuni videogiochi in entrambe le modalità, per scoprire che le differenze non sono ancora apprezzabili.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Intervista con Chuck Walbourn

È passato già qualche tempo dalla Gamefest 2008, quindi abbiamo pensato di tornare a parlare di Chuk Walbourn, sull'argomento "giochi a 64 bit". Chuck è senior software design engineer nel team XNA Developer Connection e collabora alla realizzazione di giochi per Windows e Xbox 360.

TH: abbiamo osservato un miglioramento marginale dal passaggio dal sistema operativo a 32 bit a quello a 64 bit. Che cosa succede?

È la questione centrale della tecnologia a 64 bit: non è un acceleratore per le applicazioni a 32 bit, ma piuttosto la soluzione per aprire a nuovi scenari. Si tratta di un concetto determinante: la tecnologia a 64 bit funziona, e permette di non rinunciare a nulla per sfruttarne le potenzialità, se non alla possibilità di eseguire nativamente il codice a 16 bit.

TH: Perché aggiungere memoria al mio sistema, se sono uno sviluppatore di giochi?

La ragione più ovvia per passare a un sistema operativo a 64 bit è il supporto a una maggiore quantità di memoria. Se volete usare adeguatamente 4GB o più, dovete usare un sistema a 64 bit. Lo si vede anche nel lavoro giornaliero, perché permettono file di maggiori dimensioni nella cache e la possibilità di far lavorare più processi alla volta (importante se avete un sistema con quattro o otto core). Abbiamo visto alcuni sviluppatori di giochi adottare sistemi x64 abbastanza velocemente solo per questa ragione, anche quando non usavano alcuna applicazione a 64 bit nativa. Un sistema a 8 core con 16 o 32 GB di memoria con sistema Windows Vista x64 può amministrare il codice realizzato come nessun'altro sistema, se usato in ambiente multi-thread. DICE, Epic, Valve, Crytek, Starbreeze e altri sviluppatori sono tutti passati ai sistemi x64 per avere accesso a più RAM, specialmente dato il prezzo sempre più basso della memoria.

TH: Tra le altre cose, consigli agli sviluppatori di abilitare /LAA. C'è un modo facile per sapere chi ha seguito il vostro consiglio e l'ha messo in pratica?

Abbiamo il "Large Address Aware" da anni, ma il suo uso è sempre stato limitato ad alcuni scenari molto tecnici perché non è semplice avviare un sistema a 32-bit che possa sfruttare questa funzionalità. Alla Gamefest 2007 ho voluto sottolineare che Windows x64 rende il "Large Address Aware", potenzialmente, un strumento quotidiano e privo di problemi. Ci sono molte ragioni che inducono gli sviluppatori a usare LAA, per esempio le librerie di terze parti e il codice più vecchio, seppure permetta di sfruttare solo 4 GB, non certo 8TB, come con un'applicazione a 64-bit. È una tecnologia di collegamento utile, che permette alla vostra applicazione a 32 bit di scalare oltre 2 GB e dare agli utenti Windows x64 alcune texture più dettagliate, più cache per il flusso di dati o qualsiasi altra cosa, oltre i limiti tradizionali delle applicazioni a 32 bit.

Gli sviluppatori di giochi hanno già raggiunto il limite dei 2 GB per i loro contenuti. Per Crysis, Crytek ha dovuto realizzare un editor x64 nativo, perché la creazione dei livelli va ben oltre i 2 GB disponibili con un'applicazione 32-bit. Flagship Studios ha fatto un uso profondo di programmi server nativi a x64, rendendo questi processi più resistenti alla frammentazione dello spazio di memoria. Visual Studio linker è stata un'applicazione LAA per anni, e usandolo su un sistema Windows x64, gli sviluppatori sono stati in grado di collegare un grande, monolitico file eseguibile a ottimizzazioni maggiori di quelle sarebbero possibili altrimenti. Abbiamo visto LAA usato in combinazione con Windows x64 anche per altri insiemi di strumenti e un numero di questi strumenti stanno ora passando alle versioni native x64. In tutto questo risiede un grande valore per far passare gli studios ai 64 bit. Gli strumenti con il flag LAA attivo e le pipeline dei contenuti, oltre alla forte spinta dalle Digital Content Creation come 3ds Max, Maya, SoftImage per strumenti nativi x64, stanno rendendola una tecnologia critica abilitante, anche quando i giochi vengono venduti su piattaforme a 32 bit come PC, Xbox 360, etc.

Se cercate nel web vedrete molti appassionati che modificano i giochi esistenti per abilitare LAA, in modo da ottenere soluzioni più stabili quando usano mod di grandi dimensioni. Per risolvere problemi di stabilità, spesso si leggono velati suggerimenti di passare ad una piattaforma Windows x64. Il limite dei 32 bit a 2 GB per le applicazioni è stato un punto di sofferenza nell'industria per molti anni ad oggi, quindi c'è una grande richiesta di superare questo ostacolo. LAA in Windows x64 dà spazio di manovra e, cosa più importante, dà ai videogiocatori solide basi per adottare la tecnologia prima che i giochi x64 nativi divengano comuni.

TH: Quali sono i benefici per i consumatori?

Per i consumatori, 4, 6 o 8 GB di RAM non sono molto costosi in questo momento, ma senza Windows x64 dovrete rimanere ancora a poco più di 3 GB. Anche se il numero di giochi x64 nativi è ancora ridotto, l'accelerazione del mercato di Windows x64, guidato dalla capacità di memoria, è un buon incentivo. I titoli con LAA abilitato restituiscono solitamente un'esperienza più stabile se giocati su Windows x64, perché hanno maggior spazio rispetto all'ambiente di indirizzamento a 2 GB dedicato ai moderni titoli. Tuttavia gli sviluppatori possono deliberatamente inserire più contenuti se gli utenti hanno sistemi che lo supportano.

I recenti dati mostrano un forte rialzo del numero di sistemi Windows x64, ed è già da qualche tempo che gli sviluppatori desiderano passare il limite dei 2 GB da qualche tempo. Nel mercato ufficiale è difficile pensare di fare un gioco solo a 64 bit, e realizzare entrambe le versioni impone più lavoro, quindi un rischio difficile da affrontare.

Gli utenti desiderano, certamente, poter sfruttare al massimo i contenuti dei giochi in circolazione, che diventano sempre più ricchi di dettagli. D'altra parte, l'industria fa un uso sempre più intenso di applicazioni middleware, fornite da terze parti: in questa situazione è difficile che tutte le aziende coinvolte forniscano soluzione a 64-bit, ma anche in questo caso stiamo assistendo ad un'accelerazione.

TH: quanto siamo lontani da un passaggio deciso ai giochi nativi a 64 bit? Cosa offriranno in più rispetto alle versioni odierne?

Oggi i giochi x64 nativi sono abbastanza limitati. Abbiamo sentito che ci sono alcuni studios che usano build native x64 del gioco internamente per sviluppo, ma gli editori non vogliono pagare il costo del testing e il loro supporto. Quando editori e sviluppatori decideranno di concentrasi sui 64-bit, vedremo un aumento delle prestazioni, legati ad maggior numero di registri, miglior uso della SIMD SSE2, uso aggressivo del mappamento I/O via memoria e asset significativamente più grandi. Adesso il vero cruccio è essere capaci di passare il limite di 2 GB, prima di poter vedere miglioramenti prestazionali importanti legati all'ottimizzazione.