Patu

La grafica non è fotografia: dove vince il lossless

“Converti tutto in AVIF” è un buon consiglio per le fotografie e, silenziosamente, un cattivo consiglio per tutto il resto. Uno screenshot, un logo, un grafico, un mockup di interfaccia, un disegno al tratto: sono elementi grafici, non foto, e i codec lossy che rendono AVIF e JPEG così efficaci sulle foto sono lo strumento sbagliato per loro.

Perché i codec lossy falliscono sulla grafica

JPEG, WebP lossy e AVIF sono costruiti per le fotografie: gradienti morbidi, texture naturale, nessun bordo netto. Funzionano scartando il dettaglio ad alta frequenza che l’occhio non noterà in una foto. Puntali su un elemento grafico e la stessa macchina si rivolta contro di te:

Un elemento grafico ha pochi colori e una struttura netta. La mossa giusta è mantenerlo esatto e comprimere la ridondanza, non buttare via il dettaglio.

I numeri, su grafica reale

Abbiamo passato il set di elementi grafici del nostro benchmark (213 elementi grafici reali: loghi, grafici, interfacce, arte a colori piatti) attraverso gli strumenti costruiti apposta per loro, misurando il risparmio rispetto al PNG originale:

Strumento Tipo Risparmio mediano vs PNG originale
oxipng senza perdita (esatto byte per byte) −29%
cwebp -lossless senza perdita (esatto byte per byte) −49%
pngquant palette lossy (quasi esatto) −71%

Il WebP senza perdita riduce questi elementi grafici circa a metà e ogni pixel resta identico. oxipng riottimizza il PNG stesso senza cambiare formato: sicuro ovunque. pngquant va oltre riducendo la palette; su arte a colori piatti il risultato è visivamente indistinguibile, su una foto sarebbe un disastro. Il che è proprio il punto: lo strumento deve corrispondere al contenuto.

La regola: classificare prima, comprimere dopo

L’errore non è scegliere WebP o scegliere PNG. È scegliere un solo codec per tutto. Una pipeline che distribuisce bene le immagini web deve guardare ogni asset e decidere cosa è prima di decidere come comprimerlo:

È ciò che fa Patu: classifica ogni immagine e la instrada di conseguenza. Un elemento grafico resta senza perdita: ricodificato in modo esatto, non sfumato in un formato lossy che è al contempo più grande e peggiore. Una foto riceve la ricerca lossy mirata alla qualità. Stesso endpoint, trattamento opposto, perché sono problemi opposti.

Il consiglio di partenza resta valido con una parola in più: converti le tue foto in AVIF. Converti i tuoi elementi grafici nella forma senza perdita più piccola. Mandare entrambi nella stessa pipeline è come finisci con loghi sfocati e file più pesanti insieme.


Metodo e dati: l’harness di benchmark di Patu sulla categoria elementi grafici (213 elementi grafici reali); i risparmi sono la riduzione mediana rispetto al PNG originale, per strumento. oxipng e il WebP senza perdita sono esatti byte per byte; pngquant è una riduzione di palette lossy, quasi esatta su contenuti a colori piatti.