← Tutti gli articoli

Stuttering e prestazioni nei videogiochi. Unreal Engine è il problema?

Di Gianmarco Virzì ·

Analisi tecnica e riflessioni di uno sviluppatore

Unreal Engine 5 stuttering e prestazioni: è davvero il responsabile dei problemi tecnici di tanti videogiochi moderni? O forse il problema è da ricercare altrove? Da sviluppatore che lavora quotidianamente con questo motore grafico, voglio fare chiarezza su un tema fin troppo polarizzato.

Introduzione: il dibattito su Unreal Engine è spesso mal posto

Negli ultimi mesi, una parte sempre più ampia della community videoludica ha iniziato a criticare apertamente Unreal Engine 5, imputandogli problemi come stuttering, pop-in, prestazioni instabili e inefficienze grafiche.

Chiariamo subito una cosa: non si tratta di difendere Unreal a tutti i costi, né tantomeno di negare che esistano delle criticità. Tuttavia, molti dei commenti e delle critiche che circolano – anche da parte di content creator tecnici – mancano di una base realmente approfondita.

L’obiettivo di questo articolo è spiegare, dal punto di vista di uno sviluppatore, dove finiscono le responsabilità del motore grafico e dove iniziano quelli degli utilizzatori.

Unreal Engine 5: un motore potente ma accessibile (e per questo ingiustamente incolpato)

🔹 Democratizzazione dello sviluppo videoludico

Unreal Engine 5 è uno strumento potentissimo e gratuito, utilizzabile da chiunque. Questo ha permesso ai piccoli studi di creare giochi con ambizioni e qualità vicine a quelle di produzioni tripla A.

Un esempio è stato il successo prorompente di Clair Obscure: Expedition 33*,* un titolo che dimostra quanto anche studi non enormi possano raggiungere vette qualitative altissime proprio grazie ad Unreal Engine 5.

Il rovescio della medaglia? Un’ampia accessibilità espone il motore a un utilizzo non sempre ottimale. Unreal Engine è un tool davvero enorme che richiede la sua dose di pratica ed esperienza per essere padroneggiato, inoltre, chi ha pochi fondi o poco tempo può finire per rilasciare titoli non rifiniti – e la colpa, ingiustamente, viene data al motore.

🔹 Motori proprietari vs Unreal

Un motore proprietario è creato su misura per un determinato tipo di gioco e ottimizzato internamente dallo stesso team che lo sviluppa.

Unreal, invece, è un motore general purpose, pensato per adattarsi a molti generi diversi. Questo richiede lavoro aggiuntivo in fase di ottimizzazione – che però è ampiamente possibile con gli strumenti messi a disposizione da Epic.

Screenshot a confronto di Senua’s Saga: Hellblade II (Unreal Engine 5) e Horizon Forbidden West (Decima Engine)

A sinistra, Senua’s Saga: Hellblade II, realizzato con Unreal Engine 5; a destra, Horizon: Forbidden West, sviluppato con il Decima Engine. Entrambi rappresentano esempi straordinari delle potenzialità dei rispettivi motori grafici. Fonti immagini: senuassaga.com / blog.it.playstation.com

Stuttering e prestazioni: è davvero colpa del motore?

🔹 Shader Compilation: il principale imputato

La compilazione degli shader è uno dei motivi principali dello stuttering nei giochi  sviluppati con Unreal. Quando una scena richiede un nuovo effetto visivo o un nuovo materiale, il motore compila gli shader “al volo”, provocando micro-interruzioni. Recentemente è stata introdotta la compilazione al primo avvio (con una schermata di caricamento) che riduce ampiamente il problema dello shader compilation stuttering, tuttavia, non tutti gli shader possono essere precompilati, non risolvendo il cento per cento degli stutter.

Su console, dove l’hardware è uniforme, questo problema viene prevenuto proprio pre-compilando gli shader. Su PC, invece, la varietà delle configurazioni rende la gestione più complessa.

🔹 Streaming e garbage collection

UE utilizza lo streaming dinamico degli asset: carica texture e modelli quando servono. Se la configurazione di questi sistemi non è ottimizzata, è possibile osservare pop-in e rallentamenti.

Lo stesso vale per il garbage collector, un sistema di gestione della memoria che può causare freeze quando non gestito correttamente.

Questi due aspetti, però, fanno capire quanto un lavoro di ottimizzazione oculato è necessario per migliorare le prestazioni dei videogiochi, ottimizzazione che purtroppo che richiede diverso tempo e fondi per essere portata a termine.

Confronto della modalità prestazioni su PS5 e PS5 Pro, con i grafici di frame time e frame rate

Il grafico del frametime mostra chiaramente la stabilità del gioco: una linea più piatta e con poche oscillazioni corrisponde in genere a un’esperienza più fluida. Le versioni console, grazie agli shader precompilati, soffrono meno di fenomeni di stuttering. Fonte immagine: sensatez.net

🔹 Le responsabilità degli sviluppatori

Molti problemi non derivano dal motore ma dalla mancanza di esperienza, tempo o budget per lo sviluppo. Di seguito alcuni esempi che possono non essere visti dai giocatori, ma che uno sviluppatore Unreal Engine esperto può notare:

  • Preset grafici di default lasciati invariati (es. Low in Avowed);
  • Sistemi di gioco sviluppati solo in Blueprint quando il codice C++ sarebbe più performante;
  • Ottimizzazioni mancanti nei mondi open-world nonostante gli strumenti per gestirli esistano.

Questi sono solo alcuni esempi che possono essere fatti e che portano i giocatori a dare la colpa al motore grafico, piuttosto che agli sviluppatori o più nel dettaglio ad una mancanza di tempo o ad una sbagliata gestione del progetto.

Le innovazioni di Unreal Engine 5 che indirettamente riducono il problema

🔹 Nanite: il salto quantico nei dettagli

Nanite è un sistema di rendering virtualizzato che gestisce milioni di poligoni senza caricare quelli non visibili, riducendo l’impatto sulla GPU e migliorando la produttività. Per essere più chiari, in passato nella creazione di una mappa quando veniva inserito un modello 3D, i suoi poligoni erano caricati nella loro interezza appesantendo il carico sulla GPU. Nanite fa in modo che se ad esempio inseriamo una roccia per metà nel terreno, i poligoni non visibili al giocatore non vengano caricati, alleggerendo il carico sul processore grafico. È facile comprendere come questo può essere un grandissimo risparmio di tempo in ottimizzazione per i level designer, oltre a rendere possibili livelli molto più ricchi e dettagliati.

Con la versione 5.4, Epic ha introdotto anche Nanite Tessellation, che permette la deformazione dinamica dei terreni – una novità rivoluzionaria, che aumenta dettaglio e immersività.

Visualizzazione dei triangoli Nanite in Unreal Engine 5, con normali sfaccettate e smussate

Visualizzazione dei triangoli di nanite con normali sfaccettate (a sinistra) e levigate (a destra). Fonte immagine: dev.epicgames.com

🔹 Lumen: illuminazione globale in tempo reale

Lumen permette un’illuminazione realistica senza bisogno di baking, con un costo moderato rispetto al Ray Tracing completo. Anche questo si traduce in un risparmio di tempo spaventoso per gli sviluppatori, in quanto il baking costringeva lunghi tempi di caricamento durante lo sviluppo “per fissare” luci e ombre nel livello, creando texture statiche per quest’ultime.

Per molti titoli, Lumen rappresenta un equilibrio perfetto tra prestazioni e qualità – e la sua evoluzione futura, magari con supporto IA e Path Tracing ibrido, promette ancora di più.

🔹 Altri strumenti chiave che permettono agli sviluppatori di risparmiare tempo

  • Retargeting automatico delle animazioni.
  • Displacement mapping realistico.
  • World Partition e HLOD per gestire mondi aperti.

Come possiamo vedere Epic con Unreal Engine sta facendo di tutto per rendere più facile la vita agli sviluppatori e forse è proprio questo uno dei motivi per cui viene sempre più adottato sia in ambiti indie che tripla A?

Epic riconosce comunque il problema e propone soluzioni concrete

A differenza di quanto possa apparire, Epic Games è molto collaborativa e nonostante tutto riconosce i limiti dell’engine e sta attivamente lavorando per risolvere alcuni problemi che ricadono effettivamente sotto la sua responsabilità.

Epic Games ha recentemente pubblicato un articolo dettagliato (consultabile qui) che conferma l’esistenza del problema e illustra le misure concrete intraprese per affrontarlo. Le dichiarazioni fornite da Epic sono state da noi analizzate, verificate e utilizzate come base tecnica per la stesura di questo articolo.

In questo caso dovremmo entrare in discussioni ancora più tecniche, quindi ci limitiamo ad accennare quanto afferma Epic nell’articolo.

In particolare, la causa del fenomeno è da ricercare nell’uso di Pipeline State Objects (PSO) con le moderne API grafiche come DirectX 12 e Vulkan. Come accennato prima questo richiede elaborazioni di dati in tempo reale che può causare rallentamenti.

La soluzione di Unreal Engine: PSO precaching intelligente

Da Unreal Engine 5.2 Epic ha introdotto un sistema di precaching dei PSO che anticipa la compilazione degli shader più probabili in background, evitando che questi vengano elaborati in momenti critici del gameplay.

Schema del ciclo della cache PSO in Unreal Engine: cook della build, raccolta degli shader usati in esecuzione, creazione del file .spc e applicazione alla build

Diagramma tecnico che illustra il ciclo di raccolta e applicazione della cache dei PSO (Pipeline State Objects) in Unreal Engine. Fonte immagine: dev.epicgames.com

Nonostante ciò, Epic è consapevole che il sistema non è ancora perfetto ed alcuni global shaders non possono essere elaborati in anticipo. Infatti, sono in sviluppo API che permetteranno di segnalare al motore gli shader futuri da compilare preventivamente.

In sintesi, lo stuttering da shader compilation non è ignorato da Epic, anzi: è oggetto di studio attivo e la soluzione è già in parte implementata.

Inoltre, è fondamentale dire che Unreal Engine 5.6 (l’ultima versione disponibile ad oggi 25 settembre 2025 è la 5.6.1) ha introdotto ulteriori novità che possono ridurre il carico sui processori fino al 30% rispetto al passato, grazie a miglioramenti fatti su Nanite, Lumen e sulle Virtual Shadow Maps. Inoltre, le performance negli Open World sono migliorate – contribuendo alla riduzione dei traversal stuttering –  grazie ad una tecnologia chiamata Fast Geometry Streaming.

Durante Unreal Fest 2025, gli sviluppatori Epic hanno identificato 7 cause principali di stuttering. Tra queste:

  • Level streaming e uso inefficiente di static mesh.
  • PSO compilation, già oggetto del sistema di precaching.
  • Garbage collection e caricamenti sincroni pesanti.
  • Blueprint pesanti e script dinamici non ottimizzati.

Epic quindi, continua a rilasciare strumenti e best practice per affrontare ogni tipo di hitch come parte dell’iniziativa chiamata Great Hitch Hunt.

Disinformazione e responsabilità dei content creator

🔹 Il “sentito dire” tecnico

Purtroppo, molte delle critiche mosse a UE5 derivano da contenuti video non sufficientemente approfonditi, che spesso vengono poi rilanciati da utenti senza background tecnico.

La conseguenza? Una narrazione distorta, dove si dà la colpa al motore anche quando non è responsabile.

“Quando qualcosa non funziona è colpa di UE, quando qualcosa è bello è merito degli sviluppatori” – ma studi diversi con lo stesso motore producono risultati diversi, quindi non è forse che l’argomento richiede maggiori approfondimenti?

🔹 Il vero problema è la produzione, non il motore

Molti giochi arrivano sul mercato non ottimizzati non per colpa di Unreal Engine, ma per motivi legati a scadenze, marketing e dinamiche aziendali. Lo sviluppatore è spesso costretto a rilasciare prima di poter rifinire, portando oltretutto al rilascio di pesanti patch post-lancio che nella maggior parte dei casi risolvono i problemi solo in parte.

Conclusione: Unreal Engine è un’opportunità, non un nemico

Unreal Engine non è perfetto, nessun motore lo è. Ma è uno strumento eccezionalmente potente, ben scritto, ricco di tecnologie innovative e costantemente aggiornato.

In mani competenti, Unreal consente la nascita di titoli che – fino a pochi anni fa – sarebbero stati impensabili fuori dai team tripla A.

Ai videogiocatori, il mio invito è questo: criticate con criterio, e cercate di distinguere tra il mezzo e il modo in cui viene usato.

Ai content creator: parlate anche con chi sviluppa, non fermatevi alle apparenze. Se stai sviluppando in UE5 e ti sei scontrato con problemi simili, contattaci: ne parliamo volentieri e condividiamo la nostra esperienza.

Se vi è piaciuto questo articolo vi consiglio di visitare la pagina del nostro progetto: Project Tear