Cos’è l’antialiasing? SSAA, MSAA, CSAA, EQAA, MLAA, FXAA..

Per comprendere l’anti-aliasing, dobbiamo prima comprendere il concetto di aliasing. Potresti aver riscontrato bordi pixelati o frastagliati sullo schermo mentre guardi video o giochi ai videogiochi. Questi “frastagliamenti” sono noti come aliasing. Riduce l’esperienza visiva complessiva.

Le immagini visualizzate sullo schermo sono costituite da piccoli quadrati noti come pixel. Ogni pixel, il più piccolo elemento controllabile di un’immagine, ha la propria intensità e colore. Le linee verticali e orizzontali possono essere mappate con precisione su pixel quadrati, ma le linee curve o le immagini da angolo ad angolo devono essere regolate punto per punto. Quando i pixel lungo il bordo sono spenti o accesi, si ottengono bordi frastagliati (aliasing o scalini).

La soluzione ovvia per evitare l’aliasing è aumentare la risoluzione dello schermo, ma non tutti possono permettersi un monitor di fascia alta. Ecco perché gli ingegneri hanno sviluppato diverse tecniche per ridurre l’impatto delle scalettature sullo schermo. Una di queste tecniche efficaci è l’anti-aliasing.

Cos’è l’antialiasing?

L’anti-aliasing è una tecnica di fusione dei bordi dei pixel con i pixel circostanti per creare l’illusione di un bordo più uniforme. Non è così semplice come sembra: stai dicendo al tuo computer di elaborare milioni di pixel per ogni fotogramma e di rendere i bordi più uniformi.

La CPU/GPU smussa i bordi regolando i colori lungo tutti i bordi. Invece di accendere o spegnere il pixel, il processore lo posiziona da qualche parte nel mezzo. Ad esempio, una linea diagonale bianca su sfondo nero potrebbe avere sfumature di grigio scuro e chiaro lungo i bordi invece che di bianco e nero.

Immagine ingrandita della linea con alias rispetto a quella con anti-alias

Gli algoritmi anti-aliasing sono progettati per rendere naturali le immagini digitali se viste da una certa distanza. Quando si ingrandisce, il testo e le immagini con anti-alias appaiono sfocati a causa dei pixel regolati.

Oltre alla fotografia digitale e alla grafica computerizzata, l’antialiasing è ampiamente utilizzato anche nell’audio digitale (per rimuovere le frequenze indesiderate dall’audio campionato). In questo articolo di panoramica, ci siamo concentrati sul primo.

Le scalettature non si notano sui moderni schermi HiDPI (punti alti per pollice) perché hanno griglie di pixel più dense che possono rappresentare le immagini in modo più nitido. Tuttavia, anche questi schermi ad alta risoluzione beneficiano dell’anti-aliasing.

Esistono diversi tipi di tecniche di anti-aliasing per rendere l’esperienza di visione e di gioco migliore e più coinvolgente. Ognuno ha i suoi vantaggi e difetti. Discutiamo in dettaglio gli otto tipi più popolari di anti-aliasing.

Anti-aliasing supercampionamento (SSAA)

Prima (a sinistra) e dopo (a destra) l’applicazione dell’SSAA

Fornisce una qualità dell’immagine eccezionale ma riduce le prestazioni

Conosciuto anche come Full-Scene Anti-Aliasing (FSAA), Supersaming Anti-Aliasing (SSAA) è una delle tecniche spaziali più antiche ed efficaci. È perfetto per l’elaborazione di immagini fotorealistiche perché conferisce all’immagine un aspetto più morbido e la rende più realistica.

In questo metodo, il rendering dell’immagine visualizzata viene eseguito con una risoluzione molto più elevata. I campioni di colore vengono prelevati dai pixel in eccesso che non erano presenti nell’immagine a bassa risoluzione e viene misurato il valore di colore medio.

Quando l’immagine viene ridotta, viene applicato il valore medio per rimuovere le scalettature. Ciò fornisce un’immagine sottocampionata con transizioni molto più fluide. La qualità dell’output dipende dal numero di campioni di colore: maggiore è il numero di campioni, maggiore è la qualità.

Sebbene questa tecnica fornisca un’eccellente qualità dell’immagine, riduce le prestazioni poiché il rendering delle immagini ad alta risoluzione richiede molte risorse di elaborazione. Questo è il motivo per cui non è più ampiamente utilizzato nei giochi.

Un altro svantaggio dell’utilizzo di questo metodo è che influisce negativamente sulle immagini che presentano molte linee verticali o orizzontali. Una volta elaborate, queste linee (che sono nitide per natura) appaiono morbide.

Anti-aliasing multicampione (MSAA)

Screenshot

Richiede risorse computazionali relativamente inferiori ma produce immagini di qualità inferiore

L’antialiasing multicampionamento è un caso speciale di supercampionamento in cui alcuni componenti dell’immagine non vengono completamente sovracampionati. Solo i bordi del poligono (la fonte più comune di aliasing nella grafica 3D) vengono sottoposti ad anti-aliasing. Le trame non sono levigate.

Più specificamente, quando la CPU/GPU esegue il rendering di un’immagine sul display, distingue tra due diversi componenti: un poligono e una trama. La CPU/GPU disegna prima la forma generale o il contorno di un oggetto (poligono) e poi lo riempie con una texture. MSAA regola solo le scalettature sul poligono, lasciando le texture così come sono.

Poiché MSAA non elabora tutte le parti dell’immagine finale, è più efficiente e richiede meno risorse computazionali rispetto a SSAA. Tuttavia, produce immagini di qualità relativamente inferiore e non è in grado di gestire le trasparenze.

Antialiasing di campionamento di copertura (CSAA) e antialiasing di qualità avanzata (EQAA)

Screenshot

MSAA (a sinistra) vs. CSAA (a destra) [tighter edge resolution in CSAA]

Entrambi forniscono una qualità migliore introducendo solo un minimo calo delle prestazioni

I produttori di GPU AMD e NVIDIA hanno sviluppato i propri metodi di antialiasing spaziale. NVIDIA ha creato CSAA e AMD ha creato EQAA. Sebbene abbiano nomi diversi, funzionano in modo simile.

In entrambi i metodi, la GPU identifica il poligono nell’immagine e calcola quali regioni del poligono potrebbero presentare irregolarità. Quindi sovracampiona solo quei pixel.

Poiché l’intera immagine non viene elaborata, la GPU richiede sostanzialmente meno potenza di elaborazione per funzionare. Inoltre, sia CSAA che EQAA non richiedono campioni aggiuntivi di colore/profondità/stencil. Pertanto consumano la stessa memoria video di MSAA (in modalità equivalente).

Anti-aliasing morfologico (MLAA) e anti-aliasing approssimativo veloce (FXAA)

Screenshot

Implementazione del metodo FXAA (processo passo passo da sinistra a destra, dall’alto al basso) | Credito: NVIDIA

Veloce, richiede meno risorse computazionali ma non è adatto per immagini con texture dettagliate

NVIDIA e AMD hanno sviluppato due tecniche di anti-aliasing post-processo note rispettivamente come anti-aliasing approssimativo veloce e anti-aliasing morfologico. Entrambi funzionano allo stesso modo: il pixel viene sfocato dopo il rendering.

Nei metodi di anti-aliasing post-elaborazione, la GPU confronta il contrasto di colore tra due pixel adiacenti per determinare dove si trova il bordo di un poligono. I pixel con colore e intensità simili fanno solitamente parte dello stesso poligono. Una volta rilevato il bordo, la GPU sfoca i pixel in proporzione al loro contrasto.

A differenza di MSAA, che non funziona per il rendering differito, MLAA e FXAA possono rilevare con precisione i bordi dell’immagine e quindi individuare modelli specifici in questi. Entrambi sono molto veloci e richiedono meno risorse computazionali rispetto al metodo spaziale.

La “sfocatura” si è rivelata efficace, poiché rimuove il netto contrasto tra i pixel allineati in modo strano che causano le frastagliature. Tuttavia, la sfocatura può essere facilmente notata nelle immagini con caratteristiche di fulmini dinamici e texture dettagliate.

Anti-aliasing morfologico subpixel migliorato (SMAA)

Screenshot

Esempio di SMAA 4x integrato nel gioco Crysis 2

Combina metodi di antialiasing spaziale e post-elaborazione

Questa tecnica di antialiasing post-elaborazione combina l’antialiasing morfologico (MLAA) con ulteriori strategie multi/supersampling (MSAA, SSAA) per precise caratteristiche subpixel.

SMAA produce una migliore qualità dell’immagine mantenendo tempi di esecuzione eccezionalmente rapidi. Più specificamente, offre gradienti molto accurati e stabilità temporale introducendo un sovraccarico minimo. Ciò lo rende una scelta preferita per le configurazioni di fascia bassa.

Anti-aliasing temporale (TXAA)

Fornisce una migliore qualità dell’immagine rispetto a FXAA o MLAA ma richiede molte più risorse di calcolo

Questo metodo complesso utilizza sia la sfocatura che il supercampionamento per creare grafica nitida e movimenti aggraziati. In altre parole, mira a mantenere un livello di movimento fluido in un ambiente virtuale.

Negli ultimi anni, i ricercatori hanno sviluppato l’Adaptive Temporal Anti-aliasing (ATAA), che affronta le carenze del TXAA. Ad esempio, elimina gli artefatti di sfocatura e ghosting senza introdurre un calo significativo delle prestazioni. I risultati ATAA sono vicini a ciò che il supercampionamento 16x potrebbe fornire.

Quale metodo anti-aliasing dovresti utilizzare?

Se hai una buona conoscenza dell’hardware che stai utilizzando e sai che tipo di prestazioni desideri dalla tua macchina, allora sarebbe più facile decidere quale tecnica di anti-aliasing è la migliore per te.

Le seguenti domande ti aiuteranno a prendere la decisione giusta:

  • Quali sono le specifiche della tua GPU?
  • Quanto sono pesanti o graficamente impegnativi i tuoi giochi?
  • Quali caratteristiche grafiche vuoi che siano perfette e quali non ti interessano?

Se disponi di apparecchiature di gioco potenti/di alto livello, dovresti scegliere SSAA, MSAA e TXAA. Se disponi di una CPU/GPU moderatamente potente, puoi selezionare MSAA, FXAA o MLAA. E se disponi di hardware di gioco di livello inferiore, che non è in grado di gestire frame rate elevati ed è soggetto a surriscaldamento, dovresti preferire CSAA o SMAA.

Puoi anche sperimentare le impostazioni grafiche per scoprire cosa è in grado di gestire la tua CPU/GPU. Esistono dozzine di parametri da modificare, come risoluzione, qualità delle ombre, campo visivo, distanza visiva, trama e filtro anisotropico.

Si consiglia di iniziare con la configurazione più bassa possibile e poi passare a livelli più alti e dettagliati. Sebbene sia un compito piuttosto noioso, è il modo più semplice per capire come ottenere la migliore esperienza di gioco sulla tua macchina.

Tuttavia, considerando i recenti progressi nelle unità di elaborazione grafica e nella tecnologia dei display, non vale davvero la pena preoccuparsi dell’anti-aliasing. In effetti, i videogiochi più recenti e le immagini ad altissima risoluzione non richiedono affatto l’anti-aliasing. È comunque una buona idea acquisire conoscenze sui diversi tipi di anti-aliasing in modo da poter prendere decisioni informate sul bilanciamento della grafica e delle prestazioni del tuo prossimo desktop. Le informazioni sarebbero utili anche se decidessi di modificare video professionali o sviluppare il tuo gioco.

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • mail@trgtkls.org

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

close