Videogiochi: arriva la generazione multicore

Videogiochi: arriva la generazione multicore

Con l'avvento delle CPU multicore gli sviluppatori hanno dovuto rivedere seriamente i propri processi di sviluppo, ma adesso sembrano intravvedersi i risultati di questa transizione.

di Rosario Grasso pubblicata il , alle 13:38 nel canale Videogames
 
Intel e AMD hanno ormai da tempo provveduto a consegnare al mercato le CPU multicore. Addirittura Intel ha già fatto segnare il debutto delle CPU quadcore, e anche AMD si appresta a percorrere questa strada. Inoltre, come è noto, XBox 360 e PlayStation 3 adottano un approccio simile, seppure con importanti differenze architetturali.

Tutto ciò segna l'ingresso in una nuova generazione per ciò che concerne lo sviluppo dei videogiochi. Gli sviluppatori hanno adottato nuovi processi di sviluppo con l'obiettivo di realizzare la non semplice transizione alle architetture multicore. In tutto questo, sono fondamentali le cosiddette soluzioni middleware, le quali si sono diffuse in maniera sostanziale nell'ultimo periodo. Ad esempio, Havok Engine 4.5 consente di sfruttare la natura multi-threading del processore di PlayStation 3, con risultati abbastanza evidenti in MotorStorm di Evolution Studios.

Un precisa e dettagliata fotografia di questa transizione viene fatta in questo articolo, pubblicato su News.com. Il punto è che gli sviluppatori hanno dovuto adattarsi repentinamente alle nuove architetture, giunte per la prima volta sul mercato nel 2005. I lunghi tempi di sviluppo dei progetti più importanti, di fatto, hanno impedito a molti sviluppatori di adattare la propria tecnologia alle nuove architetture di Intel e AMD.

Nell'articolo in questione si individuano due punti focali della questione, uno positivo e l'altro negativo. Innanzitutto, gli sviluppatori hanno trovato una via d'uscita con le patch, le quali consentono ai loro giochi di sfruttare i processori multicore. Tuttavia, si tratta semplicemente di un paliativo, che rischia addirittura di rallentare lo sviluppo di videogiochi di nuova generazione concepiti sin dal principio per le CPU multicore.

Aiutandosi con le lettere per determinare il grado di adattamento del software al nuovo hardware, Randy Stude, direttore della divisione game platform di Intel, sostiene: "al momento siamo al livello C-plus. Quando la prima CPU dualcore entrò in commercio eravamo al D-minus". Insomma, tutto ciò esplicita in qualche modo le difficoltà nell'adattarsi alla nuova tecnologia di molte software house.

Per questo si pensa anche a soluzioni software che aiutino i programmatori a perfezionare la transizione. Intel, nel corso di questa settimana, ha di fatto rilasciato un nuovo software development tool per le proprie CPU multicore. Sempre stando all'articolo su News.com, software house come RapidMind e PeakStream stanno pensando a delle soluzioni simili, sempre nell'ottica di avvicinare il mondo delle architetture multicore agli sviluppatori.

RapidMind, nella fattispecie, ha realizzato una interessante piattaforma di sviluppo, indirizzata principalmente al processore Cell, ma che in futuro sarà adattata anche ai chip x86 multicore di Intel e AMD. Gli sviluppatori hanno utilizzato una API per scrivere la loro applicazione, la quale riesce a individuare il modo migliore per suddividere il carico di lavoro tra i vari core del processore.

Stando a delle liste pubblicate da Intel e AMD, attualmente circa il 25% dei videogiochi sono pensati in ottica multicore. Fra questi spicca Supreme Commander, prodotto da THQ, sviluppato da Gas Powered Games e rilasciato nello scorso febbraio. "Riteniamo che quella di sfruttare i sistemi multicore sia una scelta che deve essere presa sin dall'inizio", sostiene Ben Collier, portavoce di THQ.

Tuttavia, non è così semplice e, come dicevamo prima, molti sviluppatori devono ripiegare sulle patch. E' il caso di Blizzard e di id Software che, la prima con World of Warcraft, e la seconda con Quake 4 e DooM 3 rispettivamente, hanno dovuto adottare questo tipo di soluzione.

42 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Paganetor12 Aprile 2007, 13:49 #1
be', era ora! è un peccato vedere giochi che impegnano al 50% i core

ok che oggi molto dipende dalla scheda video, ma ottimizzare i giochi (magari la fisica ) non sarebbe male!

PS: c'è la patch per il multicore per Doom3!? io ho scaricato la 1.3, è quella?
Dexther12 Aprile 2007, 13:52 #2
finalmente qualcosa si muove
Motosauro12 Aprile 2007, 13:53 #3
Black & White 2 già sfruttava gli eventuali 2 core
Crisa...12 Aprile 2007, 14:04 #4
anche quake3 se e' per questo :P
gianni187912 Aprile 2007, 14:16 #5
esiste un elenco dei giochi ottimizzati per dualcore?
sbaffo12 Aprile 2007, 14:16 #6
Liste di AMD e Intel? Interessante, non sapevo che esistessero.
Qualcuno mi mette il link che io non le trovo?
Paganetor12 Aprile 2007, 14:38 #7
nemmeno io ho trovato questa lista... ho cercato con google inserendo parecchie keywords ma non si trova...
Lud von Pipper12 Aprile 2007, 14:44 #8
Fate conto che Falcon 4 (1999) ai suoi tempi sfruttava i multiprocessori al 100%, con prestazioni aumentate di quasi il 50%!

Bei tempi, quando i programmatori ancora sapevano "osare"
zanardi8412 Aprile 2007, 14:47 #9
Il rischio di incompatibilità però secondo me è destinato a rimanere con buona parte dei titoli oggi disponibili: difficilmente le software house rilasceranno patch per tutti gli applicativi esistenti (sia che si tratti di giochi che di altra tipologia).

Secondo me è quanto mai esenziale la massima flessibilità possibile.
La soluzione vincente sarebbe un reverse hyperthreading, una implementazione in grado di fondere n cpu fisiche in 1 o più cpu logiche che sono la somma delle cpu fisiche.. il tutto secondo le necessità.

Per esempio: cpu con 4 core disponibili.
Ho un software, mettiamo un gioco, che richiede una grande capacità di calcolo per la fisica ma che non prevede montagne di calcoli in parallelo, e una buona capacità per l'intelligenza artificiale.
Le risorse si potrebbero assegnare così: 1 core per gestire sistema operativo e coordinazione di tutti gli aspetti che riguardano il gioco e l'interazione con le risorse del compurer. 1 core per la gestione dell'intelligenza artificiale, e 2 core uniti con il reverse HT per la gestione della fisica.

Oppure, sempre il solito gioco, ma con la fisica in cui si prevede un ampio uso del calcolo parallelo. I primi 2 core verrebbero gestiti in maniera identica a prima, mentre gli altri 2 invece di essere uniti, verrebbero sfruttati per il calcolo parallelo e quindi fatti lavorare indipendenti.
psychok912 Aprile 2007, 14:48 #10
Originariamente inviato da: Lud von Pipper
Fate conto che Falcon 4 (1999) ai suoi tempi sfruttava i multiprocessori al 100%, con prestazioni aumentate di quasi il 50%!

Bei tempi, quando i programmatori ancora sapevano "osare"


Già... nonostante i primi multicore sono usciti nel 2005 ancora nel 2007 ne parliamo...
Un pò lentucci direi!

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^