Aggiornamento 1.0: Ottimizzazione della grafica e impostazioni

Comandanti!

Il passaggio ad un nuovo motore di gioco è stato un lavoro lungo e complicato in cui avevamo due obiettivi chiave da rispettare: assicurarci che la grafica fosse migliore, ma anche ottimizzata. Con la versione 1.0 noterete immediatamente i miglioramenti grafici e vi chiederete di sicuro quale sarà il peso di tanta bellezza sul vostro sistema. Ebbene, grazie a tanto duro lavoro e molta passione, siamo riusciti a mantenere invariati i requisiti di sistema minimi e consigliati.

Ma cosa significa? Se state giocando su computer non di ultima generazione (considerate che questo gioco è passato su PC di una decade fa), non dovete preoccuparvi: potrete comunque godervi i miglioramenti grafici. Per avere il massimo dal vostro sistema, assicuratevi di eseguire la funzione di rilevamento automatico all’avvio del gioco, su cui vi daremo altre informazioni successivamente...

Come siete riusciti a mantenere gli stessi requisiti di sistema?

  • Texture virtuali:
  • Acqua
  • Ombre adattative
  • Ottimizzazione dell’interfaccia
  • Calcolo delle tracce dei cingoli rivisitato
  • Sistema dei modelli degli alberi avanzato
  • Scelta del livello di dettaglio
  • Sistema particellare ottimizzato
Texture virtuali:

Ora possiamo pre-calcolare tutte le combinazioni più pesanti, salvarle come texture virtuali, caricarle in anticipo e mostrarle solo quando necessario. Tra l’altro, non dobbiamo più combinare i materiali a livello di tassellazione. La tassellazione (la disposizione di forme poste vicino) ora è utilizzata senza un grosso impatto sulle prestazioni.

COME FUNZIONA:

Lo stesso terreno è una sostanza molto complessa che comprende vari materiali: erba, sabbia, pietra… qualsiasi cosa vi venga in mente. Nei casi più complicati, combiniamo fino a otto materiali in ogni pixel di ogni fotogramma, con un grosso impatto sulla GPU. Precedentemente, il terreno veniva renderizzato ad ogni fotogramma.

Acqua

In passato, abbiamo usato un approccio basato sulla “forza bruta” per creare i riflessi sull’acqua, raddoppiando il rendering della scena in base alla direzione del riflesso, ma oggi questo non è davvero il modo più efficiente di farlo. È il modo più efficiente al momento? Non proprio. Il nuovo motore grafico ci permette di migliorare questo aspetto sfruttando la tecnica di Screen Space Reflection.

COME FUNZIONA:

Combiniamo la tecnica di Screen Space Reflection con interrogazioni di riflessi corretti sulla parallasse che immagazzinano informazioni precalcolate sui riflessi. Come bonus aggiunto, questo nuovo approccio aggiunge fedeltà all’acqua, dato che ora riflette esattamente ciò che si vede, anziché avere i riflessi semplificati di prima.

Ombre adattative

Le ombre sono rinomate per essere le opzioni grafiche più pesanti in termini di risorse. Ma non è il nostro caso! Infatti utilizziamo un approccio simile alle texture virtuali per evitare un ulteriore carico sulle prestazioni.

COME FUNZIONA:

La maggior parte delle ombre sono generate al primo caricamento della mappa e sono rigenerate solo a ogni cambiamento di livello. Ciò conferisce una notevole spinta prestazionale e consente di visualizzare oggetti illuminati correttamente anche su dispositivi di fascia bassa.

Ottimizzazione dell’interfaccia

Anche l’interfaccia ha subito modifiche notevoli per ridurre il carico sulle prestazioni e sul consumo della memoria.

COME FUNZIONA:

Gli scenari 3d coperti dagli elementi opachi dell’interfaccia (minimappa e pannello dei danni) non vengono più renderizzati, risparmiando sul carico della scheda grafica.

Ecco alcuni semplici trucchetti:

  • Aumentate le dimensioni della minimappa e rendetela opaca per migliorare gli FPS.
  • Provate ad aumentare la dimensione delle aree di gioco sotto l’interfaccia opaca. In certi casi, in base alla configurazione del vostro PC, ciò potrebbe risultare in un miglioramento delle prestazioni.
Calcolo delle tracce dei cingoli rivisitato

La fisica utilizzata dal client per i cingoli si basava sui vertici dei triangoli del cingolo. Per farla semplice, diamo un’occhiata ai numeri: la quantità di calcoli necessari aumentò di oltre 10.000. Per ogni singolo cingolo. Ovviamente era tutt’altro che efficiente.

COSA È CAMBIATO:

Adesso il movimento dei cingoli è calcolato per segmento di cingolo (circa 100 calcoli per sezione). Aumentando le prestazioni, questa ottimizzazione non influenza la qualità grafica del prodotto. Riduce il carico sulla scheda grafica conferendo allo stesso tempo un aspetto naturale e un movimento realistico dei cingoli.

Sistema dei modelli degli alberi avanzato

L’aggiornamento 1.0 introduce un sistema tassellato per gli alberi.

COME FUNZIONA:

Gli alberi vengono divisi in tasselli (rettangoli piatti texturizzati) con tutte le informazioni, inclusa la profondità e le luci. Grazie a ciò, saremo in grado di passare dagli alberi alla versione tassellata in base alla distanza dal giocatore (e voi non noterete la minima differenza!).

Scelta del livello di dettaglio

il livello di dettaglio viene modificato in base alla distanza degli oggetti rispetto alla visuale e in funzione delle vostre impostazioni. Più vi avvicinate a un oggetto, più dettagli potrete distinguere. Allontanandosi, accade l’esatto contrario. Non è necessario disegnare dettagliatamente ogni crepa di un muro, se non queste non possono essere distinte.

COSA È CAMBIATO:

con il passaggio al nuovo motore, l’aggiustamento è quanto più possibile graduale e viene effettuato in un breve periodo di tempo, pertanto non è percepibile la transizione tra differenti livelli di dettaglio. La ciliegina sulla torta? Questa transizione fluida non richiede un maggiore impegno di risorse.

Per fare tutto ciò con il rendering standard, abbiamo dovuto abbandonare l’uso del livello di dettaglio zero (ovvero la migliore qualità). La differenza qualitativa fra questo livello di dettaglio e il successivo miglior livello di dettaglio è indistinguibile, ma questa decisione ci ha permesso di mantenere invariati i requisiti minimi di sistema.
Sistema particellare ottimizzato

vi ricordate come qualche esplosione simultanea poteva causare un improvviso calo di FPS o, peggio ancora, uno scatto? Abbiamo fatto in modo che ciò non accada mai più, aggiungendo un rendering particellare multi-risoluzione.

COME FUNZIONA:

Ora, quando più esplosioni si sovrappongono, gli effetti ad elevata risoluzione vengono visualizzati solo ai margini, mentre la parte interna rimane in bassa risoluzione. La variazione è praticamente impercettibile, ma evita cali di prestazioni nei momenti critici.

 

Volete vedere con vostri tuoi occhi? Controllate voi stessi, usando il programma enCore. Con questo applicativo potrete verificare le prestazioni del vostro sistema in seguito al rilascio dell’Aggiornamento 1.0.

Discutine su Discord

Chiudi