Dove la GPU Passa il Suo Tempo
Se vuoi saltare il lavoro, prima devi sapere dove sta il lavoro.
La frame generation ha senso solo se capisci quali parti di un frame sono costose e quali no. L'intera strategia di DLSS, FSR, XeSS e PSSR è saltare le parti costose e ricostruire ciò che manca. Quindi questo capitolo è uno sguardo dettagliato alla struttura dei costi di un frame moderno.
Il breakdown di un tipico frame AAA
Per un gioco di generazione attuale come Cyberpunk 2077 con path tracing attivo, in 4K su una GPU di fascia alta, il timing per frame è più o meno questo:
| Pass | Tempo approssimativo | Note |
|---|---|---|
| Shadow map | 1–2 ms | Re-render della geometria dal punto di vista di ogni luce |
| G-buffer (geometria) | 2–4 ms | Lavoro vertex + fragment, riempie depth/normal/albedo |
| Illuminazione ray-traced | 8–25 ms | Il costo dominante nei giochi path-traced |
| Denoising | 2–4 ms | Pulisce l'output ray-traced rumoroso |
| Riflessioni / SSR / SSAO | 1–3 ms | Approssimazioni screen-space |
| Post-processing | 1–2 ms | Tonemapping, bloom, motion blur, DOF |
| UI / HUD | <1 ms | Costa poco |
In 4K nativo con path tracing, i pass di ray tracing e shading dominano tutto il resto. Per questo l'upscaling fare girare quei pass a, diciamo, 1080p e ricostruire a 4K dà un guadagno enorme. Stai tagliando la parte più costosa del frame di un fattore 4×.

Il costo scala con il numero di pixel
Quasi ogni pass della lista qui sopra scala linearmente con il numero di pixel. Raddoppia la risoluzione e raddoppia all'incirca il costo e il 4K è quattro volte i pixel del 1080p. Questa è l'intuizione centrale che l'upscaling sfrutta.
Andare da 1080p a 4K significa:
- 1920×1080 = 2.073.600 pixel
- 3840×2160 = 8.294.400 pixel
- 4× più pixel da shadeare, illuminare e ray-tracciare.
Se la tua modalità DLSS "Performance" renderizza internamente a 1080p e produce un output 4K, il motore sta facendo all'incirca un quarto del lavoro per pixel del 4K nativo. Il costo rimanente ricostruire i pixel mancanti è eseguito da una piccola rete neurale che gira in una frazione di millisecondo su hardware dedicato.

Quali pass scalano con la risoluzione, e quali no
Questo è importante perché la frame generation è selettiva:
- I pass per-pixel (G-buffer, shading, ray tracing, post-processing) scalano con la risoluzione. L'upscaling aiuta qui.
- I pass per-vertex (vertex shader, skinning, processing della geometria) scalano col numero di triangoli, non con i pixel. L'upscaling non aiuta qui.
- Il setup e l'overhead di draw call scala col numero di draw call. Anche qui l'upscaling non aiuta.
- La banda di memoria è condivisa da tutti ed è spesso il vero collo di bottiglia sulle GPU di fascia alta.
Per questo la modalità DLSS "Quality" (che internamente renderizza a ~67% della risoluzione di output) a volte dà solo un ~20% di guadagno in giochi CPU-bound o geometria-bound. Il renderer non era davvero limitato dai pixel.
Dove si inserisce il ray tracing
Il ray tracing hardware ha peggiorato drasticamente il problema del costo per pixel. Un singolo "primary hit" ray-tracciato può generare 2–10 raggi secondari per riflessioni, ombre e global illumination. Ogni raggio percorre una BVH (bounding volume hierarchy) un albero di box allineati agli assi cercando il primo triangolo che colpisce. Le GPU moderne hanno un RT core a funzione fissa che accelera la traversata della BVH e l'intersezione raggio-triangolo.
Anche con l'accelerazione hardware, un gioco path-traced in 4K può sparare centinaia di milioni di raggi per frame. L'output è estremamente rumoroso solo uno o due campioni per pixel e deve essere pulito da un denoiser (spesso a sua volta una piccola rete neurale o un filtro spazio-temporale calibrato a mano).

Il costo dello shading è il vero bersaglio
Sommando tutto il quadro è coerente: la cosa più costosa che una GPU moderna fa è valutare equazioni di shading per pixel, soprattutto quando queste equazioni includono il ray tracing. Geometria, ombre e post-processing sono costi minori. Il lavoro CPU animazione, fisica, AI, sottomissione delle draw call è essenzialmente indipendente dalla risoluzione.
Quindi se vuoi un interruttore magico che raddoppi o triplichi il tuo frame rate, il posto dove cercare è il costo dello shading per pixel. L'upscaling attacca quel costo renderizzando meno pixel all'origine. La frame generation lo attacca diversamente: renderizzando meno frame interi e ricostruendo i buchi.
Nel prossimo capitolo guardiamo la tecnica che ha reso possibili entrambi il temporal anti-aliasing e come ha insegnato ai motori a mescolare informazioni nel tempo.