Skip to main content

Unreal Engine 5: ecco il costo del rendering next-gen

Nanite e Lumen sono incredibili ma le implicazioni alle performance sono scoraggianti.

L’Unreal Engine 5 è recentemente uscito dall’accesso anticipato e una versione completa è adesso disponibile per i game creator. Allo stesso tempo la porzione “city sample” della brillante demo The Matrix Awakens è stata rilasciata anch’essa, dando agli utenti una possibilità di mettere le mani su una simulazione open world densa di folle di Metaumani e su una IA in larga scala, un mondo dettagliato pieno di edifici, strade e tanti altri elementi generati in modo procedurale.

In breve, Epic sta aprendo a tutti le porte per accedere alle sue nuove tecnologie e l’UE5 è effettivamente il primo cambio di paradigma nello sviluppo dei giochi dall’arrivo delle console di nuova generazione. Quindi, cosa abbiamo appreso da questa release? Sicuramente che è un motore molto esoso di risorse.

A questo punto dobbiamo specificare perché city sample è così speciale. Creare e renderizzare paesaggi cittadini con questo livello di dettaglio non è affatto semplice. Le precedenti demo UE5 si limitavano a paesaggi rocciosi lineari e uniformi. Una città come quella in questione qui è un paesaggio molto più complesso in termini di forme, materiali e dinamismo.

Il sistema di geometrie Nanite fornisce dettagli eccezionali ai più piccoli elementi della città, a un punto tale che anche i più piccoli particolari sembrano reali se guardati da vicino. Nanite ha dei limiti per quanto riguarda superfici deformabili come personaggi animati o veicoli, mentre l’interazione con elementi quali la vegetazione è ancora work-in-progress (anche se assolutamente in cantiere!). Comunque, i risultati di questa demo parlano da soli. Poi c’è il sistema d’illuminazione Lumen, adesso aggiornato con il supporto al ray tracing per riflessi e illuminazione globale diffusa. In alcune scene i sistemi Lumen non RT reggono il confronto, ma in altre è chiaro che l’RT fa un’enorme differenza: i riflessi diventano molto più accurati e ricchi di dettagli, e l’illuminazione più precisa. Tutto ciò diventa molto più evidente nelle scene notturne.

Epic sta togliendo tutti i freni qui e, almeno allo stato attuale, le implicazioni sulle performance possono essere molto pesanti. Prima di tutto c’è il problema dello stuttering derivante dalla compilazione shader, un problema presente da tempo su PC in diversi titoli UE4 e notevolmente impattante a ogni prima run nella city sample, a prescindere dalla potenza del PC.

Quando inizia lo stuttering, che peggiora tanto più giocate, diventa immediatamente evidente che anche una CPU molto potente è in difficoltà con questo contenuto. Un Core i9 10900K a 5.0GHz bloccati su tutti i core, accoppiato a una RTX 3090, può fornire performance media di circa 45fps nelle scene complesse, e questo alla risoluzione nativa 720p, nel tentativo di rimuovere la GPU come fattore limitante delle performance. Se ci si muove veloci attraverso la città, si hanno pure netti picchi di frame-time, ulteriori stuttering che non sembrano legati alla compilazione degli shader.

La cosa interessante è che rimuovendo le feature ray tracing accelerate in hardware dal Lumen e utilizzando la GI via software, si ha un degrado della fedeltà ma anche un netto guadagno di prestazioni, presumibilmente poiché la CPU non ha più bisogno di generare la struttura BVH interna, ovvero la geometria con cui i raggi trasversali sono testati. Nei nostri test, usando il Lumen hardware si ha una perdita di prestazioni del 32%. Ma ci sono margini di ottimizzazione e abbiamo notato che lo scaling delle performance è strano.

Ad esempio, impostare il 10900K a metà della velocità causa una perdita del 40% delle performance, mentre se usiamo la stessa CPU a frequenza massima ma con la metà dei core attivi, si ha solo una perdita del 4%. Questo suggerisce che le performance UE5 sono più dipendenti dall’IPC piuttosto che dal numero di core e thread in un processore moderno.

Guarda su YouTube

La percezione è che l’Unreal Engine 5 sia pesante sulla GPU ma è difficile stabilirlo quando il limite della CPU è così facile da raggiungere. La nostra soluzione è stata quindi quella di disattivare l’AI nella città per avere numeri più affidabili nei test con una RTX 2060 Super a 1080p, utilizzando la temporal super resolution per arrivare a un output 4K. Abbiamo quindi riscontrato che il Lumen hardware ha un costo prestazionale del 7% in meno rispetto alla soluzione equivalente gestita via software.

Non male considerando il grosso incremento della fedeltà che si ottiene. Con una RTX 3080 abbiamo la stessa differenza del 7%, mentre su una Radeon RX 6800 XT questa discrepanza aumenta al 17%. Ma guardando come gira nel complesso la demo, la 6800 XT ha uno svantaggio in performance appena del 3% rispetto alla RTX 3080.

In questo quadro dove si posizionano i PC di fascia media? La nostra CPU preferita di questa fascia (almeno fino adesso), ossia il Ryzen 5 3600, offre un severo limite CPU, fornendo 30fps in scene statiche ma molti di meno in movimento. Considerando ciò, come ha fatto Epic a far girare meglio le console? Anche tenendo in conto le ottimizzazioni specifiche, siamo ancora distanti dai 30fps bloccati ma anche così, sembra che l’upscaler TSR di Epic non offra la stessa qualità rispetto alla versione PC, e questo implica che il TSR su console ha una risoluzione di base più bassa.

Poi ci sono le modifiche ad alcuni parametri di qualità: i riflessi a distanza, e in generale la risoluzione interna, sembrano coerenti ai rispettivi della versione PC impostata ad high, ma ci sono certi momenti in cui sembra che la qualità si comprometta o che entrino in gioco altre ottimizzazioni non presenti nella versione PC a preset high. Il motion blur sembra anche operare a un quarto della risoluzione in aree aperte. E infine c’è la qualità delle virtual shadow map, che su console sembra di un preset custom a metà risoluzione e offre una fedeltà inferiore rispetto alla versione PC a preset medium.

Considerato tutto ciò, cosa concludiamo da questo primo sguardo alla release dell’Unreal Engine 5? La qualità del rendering è eccezionale, Lumen e Nanite offrono un balzo generazionale nella fedeltà che vogliamo dall’hardware di recente uscita ma siamo preoccupati per le performance CPU, visto che i processori possono facilmente diventare fattori limitanti, anche gli attuali più potenti sul mercato.

Ovviamente questa è solo una demo e non un prodotto finale ma siamo comunque sorpresi che il codice faccia così largo affidamento sull’IPC single-thread piuttosto che suddividere i carichi sui core e i thread disponibili. Ottenere i 60fps su titoli UE5 su PC potrebbe essere estremamente difficile, figuriamoci quindi su console. Siamo comunque di fronte a una tecnologia in costante sviluppo con molti miglioramenti destinati ad arrivare nel prossimo futuro.

Tracceremo i progressi di questa entusiasmante tecnologia e non vediamo l’ora di analizzare i primi giochi sviluppati con l’Unreal Engine 5 e le sue mirabolanti caratteristiche.

Avatar di Alex Battaglia
Alex Battaglia: Ray-tracing radical, Turok technophile, Crysis cultist and motion-blur menace. When not doing Digital Foundry things, he can be found strolling through Berlin examining the city for rendering artefacts.
Related topics

Sign in and unlock a world of features

Get access to commenting, newsletters, and more!