PDA

View Full Version : Di cosa si occupa esattamente una cpu nell'elaborazione delle scene di un videogioco?


johnson
20-02-2006, 21:36
Ciao :)

Si parla sempre molto genericamente di come venga suddiviso il lavoro di creazione della scena 3d di un videogioco tra cpu e vga (e il resto).
Ma nello specifico, in che situazioni particolari si può misurare un decadimento delle prestazioni di una cpu ( aumentare dei poligoni, delle fonti di luce, della risoluzione, della fisica, ecc )?
E quali sono le situazioni in cui, una maggior freq operativa oppure cache raddoppiata oppure dual core o ht, aiuterebbero la cpu a svolgere più agevolmente i suoi compiti? E' possibile fare un discorso del genere oppure bisogna sempre valutare un'architettura nel suo insieme?

grazie per le risposte

Speedy L\'originale
20-02-2006, 21:45
X quanto ne sò:

Intelligenza artificiale, audio, posizionamento delle singole unità..

In genere nei gioki di stratyegia a tempo reale si è + cpu limited ke gpu limited..

p.s. aggiungo ke non ne sono affatto sicuro..

johnson
20-02-2006, 23:33
E manco io... chissà se c'è qualche esperto che ha voglia di andare in profondità :stordita:

typoon
21-02-2006, 09:37
credo che la cpu si occupi del calcolo del posizionamento dei punti nello spazio dai quali poi la gpu parte a costruire le figure e le forme, della geometria, dell'ia e di altro penso.

aLLaNoN81
21-02-2006, 10:15
Ciao :)

Si parla sempre molto genericamente di come venga suddiviso il lavoro di creazione della scena 3d di un videogioco tra cpu e vga (e il resto).
Ma nello specifico, in che situazioni particolari si può misurare un decadimento delle prestazioni di una cpu ( aumentare dei poligoni, delle fonti di luce, della risoluzione, della fisica, ecc )?
La cpu si occupa di tutta la fisica del gioco e dell'intelligenza artificiale, più il gioco prevede scenari complessi con molti elementi, unità in movimento e complessità degli algoritmi con i quali il tutto avviene e più si va verso la saturazione della cpu.


E quali sono le situazioni in cui, una maggior freq operativa oppure cache raddoppiata oppure dual core o ht, aiuterebbero la cpu a svolgere più agevolmente i suoi compiti? E' possibile fare un discorso del genere oppure bisogna sempre valutare un'architettura nel suo insieme?

grazie per le risposte
La maggior frequenza e la maggior cache servono a far muovere più velocemente la fisica del gioco (cioè la struttura), poi la gpu si occupa di realizzare la parte grafica. L'ht e i dual core servono solo se la il gioco è scritto appositamente per sfruttarli (ora come ora non credo ce ne sia nessuno) e cioè se è in grado di lanciare più computazioni parallele per eseguire diversi compiti contemporaneamente. Fino ad ora tutti i giochi son stati pensati per i single core, in futuro però quando i programmatori si dedicheranno alle architetture dual core sicuramente ci saranno dei grossi boost prestazionali...

johnson
21-02-2006, 15:35
Il calcolo che fa una cpu è direttamente proporzionale alla risoluzione oppure dipende esclusivamente dagli fps?

Per esempio, se io mantengo gli stessi settaggi grafici, e cambio risoluzione da 640 a 1280, la cpu fa più lavoro?
Se fa più lavoro, lo fa perchè aumentando gli fps la cpu deve fare semplicemente più calcoli, oppure ci sono più cose che ne interessano il rendimento e alla fine come risultato del rendimento si ha un valore in fps?

Cioè quello che non capisco è:

è la vga che elabora un certo numero di fps e in base a questo numero la cpu fa i suoi calcoli, oppure sono i vari settaggi grafici/geometrici/fisici che influenzano nello stesso momento cpu e vga?

E' un casino da spiegare quello che ho in testa lol scusate...

Speedy L\'originale
21-02-2006, 17:58
In genere la cpu fà sempre gli stesi calcoli, ecco perkè a basse risoluzione in genere si è cpu limited, mentre ad alte GPU limited..

walter89
21-02-2006, 18:12
a risoluzione basse e/o con filtri disattivi il rendering della grafica è molto semplice di conseguenza la potenza di elaborazione di una vga potrà permettere di avere un frame rate molto elevato e di conseguenza un numero di fps molto alto.
La cpu al contrario non è influenzata dalla complessità dell'immagine ma bensì soprattuto dal numero di fps. Fps maggiori corrispondono a maggiore richiesta di calcolo.
Di conseguenza in alcuni casi in cui la scheda grafica sia estremamente + potente rispetto al processore accadrà che verranno richiesti di elaborare alla cpu un'immagien con framerate molto elevato che la potenza di calcolo della cpu non risucirà a soddisfare.
SOLAMENTE in questo tipo di situazioni la cpu fa da collo di bottiglia alla scheda grafica

Negli altri casi, a risoluzione elevate e/o con filtri attivi il rendering della grafica è molto + complesso: di conseguenza la scheda grafica riuscirà ad elaborare l'immagine ma con un frame rate minore e quindi con un numero di fps ridotto rispetto al caso precedente.
Quel numero fps ridotto nella maggior parte dei casi è gestito (o elaborato) agevolmente dalla cpu.

La cpu non è influenzata DIRETTAMENTE dalle risoluzioni, ma dai frames al secondo.

Di conseguenza siccome il frame-rate è influenzato dalle risoluzioni e dai filtri allora la cpu INDIRETTAMENTE sarà influenzata dalle risoluzioni.

Questo schema è sempre ottenuto tralasciando i calcoli legati alla fisica &associati perchè non influenzati dal frame-rate

Maggiore risoluzione e/o filtri attivi-------------> Rendering + complesso per la vga-------> meno frames -----------> meno elaborazione della cpu

Minore risoluzione e/o filtri disattivati---------->rendering + semplice per la vga -----------> + frames-------------->+ elaborazione della cpu

johnson
21-02-2006, 21:52
ok grazie :)