Unreal Engine 5: la velocità dell'SSD conta meno del previsto nello streaming dati?

Dall'approfondimento di Digital Foundry su Matrix: Il Risveglio emerge una considerazione interessante sul rapporto tra velocità di SSD e streaming degli asset.

NOTIZIA di Giorgio Melani   —   11/12/2021
147

La recente analisi della demo Matrix: Il Risveglio in Unreal Engine 5, effettuata da Digital Foundry, ha fatto luce su un aspetto interessante, che è stato a lungo dibattuto nei mesi scorsi per quanto riguarda la next gen, ovvero l'importanza di un SSD super-veloce per un utilizzo ottimale del nuovo motore grafico di Epic Games.

Aggiornamento: Epic Games ha precisato, in seguito alla prima pubblicazione dell'articolo di Digital Foundry, che il flusso di dati previsto per Matrix: Il Risveglio è di circa 10 MB per ogni frame, non al secondo. Con la demo impostata a 30 frame al secondo, significa circa 300 MB di dati al secondo come flusso di asset e texture dalla memoria di archiviazione, cosa che comunque non cambia più di tanto il succo del discorso visto che si tratta di un dato al di sotto degli standard di velocità degli SSD, tanto più se si considera gli NVMe. Abbiamo corretto il testo di conseguenza.

C'è da dire che la stessa Epic Games ha ribadito più volte la necessità di un accesso velocissimo all'archivio per poter ottenere i risultati visti nella prima demo dell'engine.

Matrix: Il Risveglio è la nuova demo giocabile di Unreal Engine 5
Matrix: Il Risveglio è la nuova demo giocabile di Unreal Engine 5

La famosa demo "Lumen in the Land of Nanite" sembrava potesse essere possibile solo con un SSD super-veloce come quello di PS5, cosa peraltro riferita di recente proprio nella prima presentazione di Matrix: Il Risveglio, che come abbiamo visto è stato sviluppato in collaborazione da Epic Games con The Coalition.

L'idea generale era che i momenti di transizione veloce sugli scenari costruiti su Unreal Engine 5 richiedessero un'estrema velocità dell'SSD per poter funzionare al meglio, ma questo non sembra essere corrispondente a quanto riferito da Michal Valient, Director of Platform and Rendering Engineering di Epic Games che ha lavorato alla demo di Matrix, interpellato da Digital Foundry con la recente analisi sulla demo in questione.

Alla domanda sul fatto che le riduzioni di performance nei passaggi più veloci siano da riferire a problemi di I/O (input/output), ovvero di trasmissione e gestione dati dall'archivio, Valient ha spiegato che non è questo il caso: "Il collo di bottiglia, le incertezze che vedete, non riguardano l'I/O, l'I/O di queste macchine è molto valido. Abbiamo ancora dei problemi da sistemare per quanto riguarda l'inizializzazione dei dati", ha spiegato.

In verità, l'utilizzo del sistema Nanite di Unreal Engine 5, spiega l'articolo di Digital Foundry, non richiede necessariamente un SSD super-veloce per funzionare, perché sfrutta un sistema di virtualizzazione che parcellizza i dati da gestire scomponendoli in frammenti piccolissimi e utilizzando dunque un flusso di dati molto leggero nello streaming degli asset: "Questo è ciò che distingue Unreal Engine 5 dai motori tradizionali... con Nanite la procedura è molto graduale", ha spiegato Valient, parlando della demo Matrix: Il Risveglio.

"Quando ci si sposta in giro, si muovono circa 10 MB di dati per ogni frame, perché viene fatto un streaming solo di piccole parti di texture, piccoli dati tratti da Nanite, lo streaming avviene solo su piccole tile di cui abbiamo veramente bisogno. Nel rendering, Nanite sceglie i piccoli cluster di triangoli di cui abbiamo realmente bisogno per una particolare inquadratura e lo streaming viene effettuato solo su quelli, dunque non dobbiamo effettuare un flusso enorme. Questo ci consente di essere molto rapidi per quanto riguarda l'I/O e il passaggio dei dati".