Texture, file e pack · 4 min di lettura
Avviso "oversized asset" di FiveM: cosa significa e come risolverlo
Leggi in: English · Español · Français · Deutsch · Português · Polski · Türkçe · Русский
Avvii il server e la console si riempie di righe come questa:
Asset <resource>/<file>.ytd uses <size> MiB of physical memory.Questo è l'avviso di asset troppo grande di FiveM. Non è un errore e il file continua a caricarsi, ma ti dice quali file sono abbastanza pesanti da creare problemi. Ecco cosa misura, perché la dimensione del file su disco dice poco e come alleggerirli.
Cosa misura FiveM
All'avvio, FiveM legge l'intestazione di ogni file della cartella stream di una risorsa. Quell'intestazione indica quanta memoria occupa il file una volta caricato, in due parti: memoria fisica (memoria grafica: texture e buffer di vertici) e memoria virtuale (memoria di sistema: il resto dell'asset). Le soglie, lette nel codice stesso di FiveM, sono le stesse per entrambe:
| Memoria di un file | Cosa fa FiveM |
|---|---|
| oltre 16 MiB | mostra l'avviso |
| oltre 32 MiB | lo mostra in giallo |
| 48 MiB o più | aggiunge: "Oversized assets can and WILL lead to streaming issues (such as models not loading/rendering)." |
| oltre 64 MiB | lo mostra in rosso |
L'avviso riguarda ogni file. Un .ytd da 20 MiB viene segnalato anche se il resto del tuo server è leggero.
Perché la dimensione su disco inganna
I file in streaming sono compressi su disco, e l'avviso conta ciò che occupano caricati. Per una texture è la sua dimensione nel formato della GPU, con tutti i livelli di mipmap, arrotondata a pagine di memoria intere. Un ordine di grandezza, prima di quell'arrotondamento:
| Texture (con mipmap) | DXT1 (senza trasparenza) | DXT5 (con trasparenza) |
|---|---|---|
| 1024 × 1024 | 0,67 MiB | 1,33 MiB |
| 2048 × 2048 | 2,67 MiB | 5,33 MiB |
| 4096 × 4096 | 10,67 MiB | 21,33 MiB |
Quindi una sola texture DXT5 4096 × 4096 supera già da sola la soglia, e un .ytd con qualche texture 2048 può superarla sembrando piccolo nell'esplora file. L'arrotondamento alle pagine può far risultare il totale nettamente superiore alla somma delle texture.
Se un file viene segnalato per la memoria virtuale (di sistema), non sono le texture: sono gli altri dati dell'asset, come la sua collisione. Ridurre le texture non cambia questo.
Trova in una volta tutti i file troppo grandi
Invece di leggere la console, trascina l'intera cartella resources in Server Budget. Legge le stesse intestazioni nel tuo browser (non viene caricato nulla) ed elenca:
- Oversized (troppo grandi): i file oltre 16 MiB di memoria grafica, dal peggiore.
- By resource (per risorsa): cosa trasmette ogni risorsa, ordinato per memoria.
- Streamed twice (trasmessi due volte): nomi di file che più di una risorsa trasmette. Il gioco ne riceve solo uno, quindi tieni una sola copia.
La lista Oversized di Server Budget conta la memoria grafica. Un file che la console segnala solo per la memoria virtuale non vi compare.
Riduci le texture
Prendi i file segnalati da Server Budget (.ytd, .ydr, .yft, .ydd) e trascinali nell'Asset Optimizer:
- Imposta Largest texture size (dimensione massima della texture). 1024 è il valore predefinito; 2048 è una scelta comune per auto e livery guardati da vicino.
- Lascia spuntato Add missing mipmaps (aggiungi i mipmap mancanti): le texture salvate senza li riottengono.
- Controlla la stima ("At 1024 px: about … less texture memory") e la tabella dei file.
- Clicca su Download the lighter files (.zip) (scarica i file più leggeri). Ricevi ogni file con il suo nome: rimettili al posto dei vecchi.

Una texture che ha mipmap viene ridotta eliminando i livelli più grandi, senza ricomprimere, quindi appare esattamente come da un po' più lontano. Una texture senza mipmap viene ricostruita con tutti i suoi livelli, alla dimensione scelta, o alla sua se è più piccola.
I pack che ripetono la stessa texture in molti dizionari possono anche condividerla: Texture Dedupe sposta le texture ripetute in un .ytd comune. Poi ritrascina la cartella in Server Budget per vedere il risultato.
Domande
- 16 MiB è un limite rigido?
- No. FiveM continua a trasmettere il file e si limita ad avvisare. Da 48 MiB il suo stesso avviso dice che questi asset causeranno problemi di streaming, quindi tratta tutto ciò che supera 16 MiB come un file da ridurre.
- L'avviso conta la dimensione del file su disco?
- No. Conta la memoria che il file occupa una volta caricato, letta dalla sua intestazione. Un file può pesare molto meno di 16 MB su disco e superare comunque 16 MiB caricato.
- Le texture più piccole verranno peggio?
- Da vicino, una texture da 1024 è più morbida di una da 2048. Da lontano il gioco disegna già i livelli di mipmap più piccoli, proprio quelli che l'Asset Optimizer conserva.

Lo strumento per questo
Server Budget
Trascina la cartella delle tue risorse: memoria grafica e di sistema per risorsa, ogni file oltre 16 MiB e ogni file trasmesso due volte. Nel tuo browser, senza caricare nulla.
Apri Server BudgetUtile anche qui: Asset Optimizer · Texture Dedupe

