Uno dei prossimi progressi che migliorerà in modo significativo le prestazioni di gioco è il concetto di preframing, in particolare sfruttando la potenza della grafica integrata nei computer da gioco. Questo concetto è destinato a rivoluzionare il modo in cui costruiamo le piattaforme di gioco e renderà gradualmente obsolete le configurazioni del solo processore.
Nel panorama odierno, la maggior parte dei processori sono chip eterogenei che non solo dispongono di più CPU core ma includono anche un chip grafico integrato, noto come iGPU. Tradizionalmente, abbiamo considerato questo componente come qualcosa di limitato alla gestione di attività di base come il rendering del file Windows desktop, con la scheda grafica principale che prende il sopravvento per l'elaborazione grafica di gioco più impegnativa. Tuttavia, questo approccio rappresenta un significativo sottoutilizzo delle risorse disponibili.
La tecnologia di preframing mira a ottimizzare le prestazioni massimizzando il potenziale della grafica integrata. Invece di relegare l'iGPU a un ruolo secondario, contribuisce attivamente al rendering del gioco, lavorando in tandem con la scheda grafica principale. Distribuendo il carico di lavoro in modo più efficiente, il preframing riduce al minimo lo spreco di risorse preziose e migliora le prestazioni di gioco complessive.
Man mano che questa tecnologia continua ad evolversi, possiamo aspettarci di assistere a un cambiamento nelle configurazioni dei computer, con una minore dipendenza dalle configurazioni del solo processore. La componente grafica integrata diventerà sempre più fondamentale, consentendo ai giocatori di estrarre più potenza ed efficienza dai loro sistemi.
Perché la GPU integrata diventerà importante nei giochi?
Lo scopo principale di una scheda grafica è generare immagini, ma negli ultimi tempi hanno trovato applicazioni oltre il mercato dei giochi per PC. Tuttavia, non ci affidiamo alle nostre schede Radeon o GeForce per l'assistenza nella sintesi proteica o nelle simulazioni militari. Invece il surplus GPU la potenza derivante dai periodi di inattività viene spesso utilizzata per affrontare sfide specifiche nei giochi, come il rilevamento delle collisioni o i calcoli della fisica del gioco.
Mentre alcuni giochi sfruttano efficacemente la scheda grafica per queste attività, molti altri sottoutilizzano le sue capacità, affidandosi prevalentemente ai core della CPU aggiuntivi per gestire il carico di lavoro. Ciò porta a un'opportunità persa di sfruttare la versatilità delle moderne GPU. La disparità nasce dal fatto che NVIDIA e AMD le schede grafiche hanno architetture di programmazione distinte, mentre Intel e i processori AMD possono utilizzare lo stesso codice.
Di conseguenza, le funzionalità flessibili e potenti delle GPU contemporanee rimangono inutilizzate in alcuni scenari di gioco, limitando il loro potenziale per contribuire in modo significativo all'ottimizzazione delle prestazioni. Esplorare modi per ottimizzare l'utilizzo della GPU in vari titoli di gioco e migliorare l'integrazione tra schede grafiche e CPU potrebbe sbloccare esperienze di gioco avanzate e liberare tutto il potenziale di questi potenti componenti.
Il concetto di preframe
Uno dei calcoli cruciali nei giochi è determinare la visibilità, che implica l'identificazione degli oggetti visibili in ogni fotogramma. Tradizionalmente, questa attività viene eseguita dalla GPU principale durante la generazione dei frame. Tuttavia, è emerso un concetto chiamato pre-rendering, con l'obiettivo di ottimizzare questo processo generando l'immagine con una complessità minima basata sulla conoscenza degli oggetti visibili nel fotogramma successivo.
L'implementazione del pre-rendering è relativamente semplice perché il driver deve solo eseguire il frame successivo in modo semplificato per raccogliere le informazioni necessarie. Successivamente, la scheda grafica esegue il rendering del fotogramma finale di conseguenza. Pensalo come un disegnatore che crea uno schizzo approssimativo con pochi dettagli prima di produrre il disegno finale.
Utilizzando tecniche di pre-rendering, gli sviluppatori possono ottimizzare le prestazioni del gioco riducendo il carico computazionale sulla GPU e semplificando il processo di rendering. Questo approccio migliora l'efficienza e consente un gameplay più fluido, poiché la scheda grafica può concentrare le proprie risorse sul rendering degli oggetti visibili ignorando quelli non visibili.
Qual è la sua utilità?
Ecco alcuni vantaggi del pre-rendering:
1. Eliminazione della geometria superflua: il pre-rendering consente di eliminare la geometria non necessaria dall'elenco di visualizzazione. Ciò include oggetti che sono fuori dalla visuale della telecamera, situati dietro oggetti più grandi o posizionati troppo lontano dove i dettagli non sarebbero distinguibili. Scartando tale geometria, le risorse possono essere allocate in modo più efficiente.
2. Creazione di una struttura dati: il pre-rendering facilita la creazione di una struttura dati ad albero che fornisce informazioni sulla posizione di ogni oggetto. Questa struttura dati è particolarmente cruciale per Ray Tracing, una tecnica di rendering che simula il percorso dei raggi di luce per ottenere effetti di luce realistici.
3. Ordinamento della geometria: il pre-rendering consente di ordinare la geometria in base alla sua posizione sullo schermo. Questa organizzazione spaziale semplifica il rendering per tile, consentendo una gestione efficiente della memoria. Rendendo gli oggetti in un ordine specifico, l'impatto sulla memoria video può essere ridotto al minimo.
Sfruttando queste tecniche di pre-rendering, gli sviluppatori possono ottimizzare le prestazioni e l'utilizzo delle risorse nei giochi. Il processo di eliminazione della geometria non necessaria, utilizzo di strutture dati e ordinamento della geometria contribuisce a un rendering più efficiente e a una migliore esperienza di gioco complessiva.
Come è costruito il preframe?
Il concetto di pre-rendering implica la creazione del fotogramma successivo con informazioni minime che non saranno visibili sullo schermo. Per accelerare la costruzione del preframe, alcune parti della pipeline 3D vengono omesse.
Durante il pre-rendering:
– Non vengono applicati shader grafici in nessuna fase.
– Le trame e le informazioni sui colori non vengono applicate.
– Non vengono aggiunti effetti di post-elaborazione.
L'obiettivo è generare il preframe in pochi millisecondi, fornendo le informazioni necessarie alla GPU per generare il frame finale. Lo scopo principale è determinare la visibilità e il posizionamento della geometria nella scena, che è fondamentale per la generazione dei fotogrammi. Questo meccanismo comporta una soluzione intelligente.
Rimuovendo le fasi successive alla fase di rasterizzazione, in cui si verifica la maggior parte dell'elaborazione dei dati e richiede una potenza significativa, l'esecuzione del preframe può essere scaricata su un hardware grafico più semplice. Ciò include la grafica integrata presente nei processori, che deve essere attiva per essere utilizzata in modo efficace.
Le complicazioni coinvolte nella sua attuazione
Sebbene il concetto di preframe abbia i suoi meriti, la sua implementazione è limitata a situazioni in cui l'architettura della GPU integrata e della scheda grafica dedicata sono uguali o compatibili. Ciò rappresenta una sfida per NVIDIA, in quanto è l'unico tra i tre marchi che non dispone di un'architettura CPU x86. Di conseguenza, AMD sembra essere in una posizione favorevole per sfruttare questa situazione per promuovere l'uso dei suoi processori Ryzen insieme alle schede grafiche Radeon in futuro.
Inoltre, l'idea del preframe è particolarmente vantaggiosa per le GPU con un gran numero di core. Tuttavia, con l'aumento dei costi associati alla produzione di chip, qualsiasi assistenza esterna è benvenuta, anche se ciò significa utilizzare la grafica integrata nei processori. È essenziale trovare modi per mitigare le spese, poiché i continui aumenti dei prezzi non sono sostenibili e alla fine ci sarà un punto in cui il mercato richiederà un limite all'aumento dei costi.