Unreal Engine 5 sta affrontando il problema più grande nella grafica per PC

rispetto dt immagine in primo piano 2
Questa storia fa parte della serie ReSpec di Jacob Roach, che copre il mondo dei giochi e dell'hardware per PC.

Durante il suo Stato dell'indirizzo irreale alla GDC 2023, Epic ha annunciato un'ampia suite di funzionalità per Unreal Engine 5.2. Ma forse il più una caratteristica importante in arrivo nel motore aggiornato non riguarda l'illuminazione, i dettagli della geometria o il raggio tracciare. Si tratta di prestazioni.

Contenuti

  • Ricorda la balbuzie
  • Tutto per Fortnite
  • Ancora molto di cui essere entusiasti

Video consigliati

Motore irreale i giochi, a torto oa ragione, sono stati associati a balbuzie e intoppi negli ultimi anni. Con la nuova versione, Epic sta finalmente affrontando il problema frontalmente, quindi ho pensato che fosse giunto il momento di spiegare perché i giochi Unreal così comunemente mostrano la balbuzie, cosa sta facendo Epic per risolvere il problema e quando possiamo aspettarci di vedere questi sforzi mostrarsi nelle nuove versioni.

Ricorda la balbuzie

Frame time in Gotham Knights su PC.
Questi picchi di frame time si manifestano come gravi balbuzie in Gotham Knights.

Negli ultimi anni, Unreal Engine è diventato sinonimo di balbuzie. L'abbiamo visto più e più volte, da Star Wars Jedi: Fallen Order Randagio A Cavalieri di Gotham, e hanno tutti lo stesso problema in comune. È la balbuzie della compilazione.

In genere sentirai parlare di stuttering nella compilazione di shader, ma le recenti fonti di intoppi non sono dovute a singoli shader. Nella grafica recente API come Vulkan e DirectX 12, i pacchetti noti come Pipeline State Objects (PSO) vengono sfruttati per comunicare al gioco lo stato della tua GPU. I PSO hanno lo scopo di rendere il rendering più efficiente, consentendo a dozzine di parametri, inclusi gli shader, di essere interfacciati tra l'API e la GPU in un unico pacchetto.

Tuttavia, introducono un problema diverso. Poiché i PSO contengono così tante informazioni, generarne uno nuovo al volo richiede molto tempo (secondo alla documentazione di Unreal, 100 o più millisecondi). Questa creazione di PSO in fase di esecuzione è la fonte di una balbuzie, in cui il motore deve generare un nuovo PSO mentre stai effettivamente giocando.

Per combattere questo, la memorizzazione nella cache PSO è disponibile in Unreal Engine. Questo crea una cache di possibili PSO in modo che non sia necessario generarne di nuovi mentre giochi, ma non sono perfetti. Come spiega Epic, il precaching di PSO può "essere gravoso per progetti di grandi dimensioni e lasciare comunque lacune nella cache che portano a intoppi". Ecco perché, anche nei giochi che precompilano gli shader sulla GPU, di tanto in tanto vedrai ancora degli stutter (anche se sono pochi e lontani fra).

Epic sta tentando di automatizzare questo processo raccogliendo PSO piuttosto che lasciare che siano gli sviluppatori a tenere conto di ogni possibile parametro della GPU. E 'acceso La road map pubblica di Epic, ma al momento è disponibile solo una versione sperimentale. In Unreal Engine 5.2, l'obiettivo è migliorare la memorizzazione nella cache PSO per ridurre ulteriormente gli intoppi.

Tutto per Fortnite

Una scena di Fortnite in esecuzione su Unreal Engine 5.

C'è molto di cui essere entusiasti in Unreal Engine 5 (ne parlerò più avanti), ma non abbiamo ancora una visione chiara di come funzioni il motore. Finora, è stato utilizzato solo in demo tecniche e Fortnite tra le principali uscite. Anche i giochi come Redfall che prometteva di sfruttare Unreal Engine 5 ha fatto marcia indietro verso Unreal Engine 4.

Per essere chiari, gli strumenti disponibili in Unreal Engine 4 consentono agli sviluppatori di ottimizzare i propri giochi per evitare la balbuzie. Cuore atomicone è uno dei tanti esempi. Ma lo stato complesso degli OSP ha lasciato la porta aperta a intoppi durante il gioco e la raccolta automatizzata di PSO di Epic è stata introdotta solo in Unreal Engine 5.1.

Anche se sono felice di vedere Epic affrontare direttamente il problema, non abbiamo ancora visto la cache PSO automatica in fase di elaborazione. Man mano che escono versioni più complicate e varie da team più piccoli, la domanda per la generazione di PSO aumenta e la possibilità di intoppi e balbuzie diventa più presente.

Ciò è particolarmente preoccupante per i giochi che includono tracciamento dei raggi, poiché Unreal Engine 5 non supporta la memorizzazione nella cache PSO per tracciamento dei raggi OSP. COME Nvidia spiega, è possibile distribuire il lavoro di creazione di un PSO di ray tracing a più thread, ma ciò non significa necessariamente che gli sviluppatori utilizzeranno questo processo.

Ancora molto di cui essere entusiasti

Illuminazione in Unreal Engine 5.

Abbiamo ancora bisogno di vedere la raccolta PSO automatizzata in Unreal Engine 5, ma in realtà c'è molto di cui essere entusiasti nel motore. Innanzitutto Lumen. L'illuminazione è estremamente importante per la fedeltà grafica e tecniche costose come l'illuminazione con tracciamento del percorso in mostra Portale RTXsono duri con l'hardware. Lumen divide la differenza.

Lumen sfrutta il ray tracing, ma è una forma altamente ottimizzata di tracciamento dei raggi. Invece di calcolare scrupolosamente rimbalzi infiniti su oggetti dettagliati, Lumen utilizza le astrazioni per calcolare l'illuminazione per la maggior parte della scena, impostando per impostazione predefinita solo l'illuminazione dettagliata più vicina a telecamera. Questa ottimizzazione consente a Lumen di funzionare con il software tracciamento dei raggi, abbandonando la necessità di avere dedicato tracciamento dei raggi acceleratori sul tuo scheda grafica.

I risultati sono già chiari. Fortnite è in esecuzione su console con Lumen a 60 fotogrammi al secondo (fps) e sembra sbalorditivo su PC, anche in Fortnite"s mondo dei cartoni animati.

Una vetrina dei naniti in Unreal Engine 5.

Nanite lavora in tandem con Lumen. È un sistema di geometria virtualizzata che contiene mesh altamente dettagliate e altamente compresse che possono essere regolate durante il gioco. È fondamentalmente un livello di dettaglio (LOD) complesso per le mesh che passa automaticamente da mesh dettagliate a mesh vaghe a seconda di dove sta guardando la telecamera.

Ancora più importante, Nanite viene eseguito sul proprio passaggio di rendering, quindi non è coinvolto nella tradizionale pipeline GPU. Ciò significa che il tuo gameplay rimane fluido anche quando Nanite sta sostituendo la complessità della mesh. Tra Nanite e Lumen, hai due funzionalità visivamente impressionanti ed efficienti dal punto di vista computazionale che alzano il livello della fedeltà grafica.

Tuttavia, Epic ha condiviso di più durante il suo discorso su State of Unreal. Il substrato è un nuovo sistema di materiali in Unreal 5.2 che include un controllo degli shader più dettagliato. Epic lo ha dimostrato con un materiale di superficie opale, mostrando più strati e un'accurata rifrazione della luce su di essi.

Un materiale opale in Unreal Engine 5.

Anche il nuovo Procedural Content Generation Framework (PCG) è entusiasmante, anche se non è direttamente correlato alla fedeltà visiva. Con un input limitato, il PCG può generare nuovi oggetti per consentire agli sviluppatori di costruire rapidamente mondi con un alto livello di dettaglio. È eccitante per mondi più estesi che non hanno bisogno del tocco di un artista ad ogni angolo.

C'è molto di più, dai progressi in MetaHuman al tracciamento completo del percorso all'interno di Unreal Engine. È eccitante, ma rimangono i problemi di balbuzie comunemente associati alle versioni di Unreal Engine. Si spera che i progressi di Epic nella memorizzazione nella cache PSO possano aggirare questo problema, ma non abbiamo ancora molti giochi Unreal Engine 5 per vedere come funziona quel sistema.

Questo articolo fa parte di Rispec – una colonna bisettimanale in corso che include discussioni, consigli e rapporti approfonditi sulla tecnologia alla base dei giochi per PC.

Raccomandazioni della redazione

  • Ho provato a rivivere l'eredità dimenticata di Halo come franchise per Mac, ed è stato un disastro
  • Con partnership esclusive per PC, tutti perdono
  • I peggiori porting per PC di tutti i tempi e perché erano così pessimi
  • In che modo l'IA generativa creerà giochi con "mondi più ampi, più grandi e più profondi"
  • Star Wars Jedi: Survivor è stato criticato su Steam come porting per PC "schifo totale".