Cos'è il frame rate GIF?
Gli FPS (fotogrammi al secondo) sono il numero di immagini individuali visualizzate ogni secondo in un'animazione. A differenza degli standard video (24/30/60 fps), i frame rate GIF sono flessibili — ogni fotogramma può avere il proprio valore di ritardo. I frame rate GIF tipici vanno da 5 a 20 fps, con 10 fps come impostazione predefinita più comune.
La specifica GIF memorizza i tempi dei fotogrammi come un ritardo in centisecondi (centesimi di secondo). Ad esempio, 10 fps utilizza un ritardo di 10 centisecondi tra i fotogrammi, mentre 20 fps utilizza un ritardo di 5 centisecondi. Questa temporizzazione per fotogramma è memorizzata nel blocco Graphics Control Extension di ciascun fotogramma.
Il compromesso centrale: fluidità vs dimensione del file
La relazione tra FPS e dimensione del file è approssimativamente lineare: raddoppiare il frame rate raddoppia approssimativamente il numero di fotogrammi, il che raddoppia approssimativamente la dimensione del file. Questo rende gli FPS la seconda impostazione più influente dopo la risoluzione per controllare la dimensione del GIF.
| FPS | Fotogrammi (5 sec) | Dimensione approx. (480px) | Qualità del movimento |
|---|---|---|---|
| 5 fps | 25 | ~0,8 MB | Scattoso, tipo slideshow |
| 8 fps | 40 | ~1,3 MB | Passi percepibili |
| 10 fps | 50 | ~1,6 MB | Buon equilibrio |
| 15 fps | 75 | ~2,5 MB | Fluido |
| 20 fps | 100 | ~3,3 MB | Quasi video |
| 30 fps | 150 | ~5 MB | Fluidità video (eccessivo) |
Raccomandazioni FPS per tipo di contenuto
| Tipo di contenuto | FPS consigliati | Perché |
|---|---|---|
| Animazione logo semplice | 5–8 fps | Pochi elementi in movimento, la fluidità non è critica |
| Registrazione schermo / demo UI | 8–12 fps | Il movimento del cursore richiede una certa fluidità |
| GIF web standard / meme | 10–12 fps | Miglior equilibrio tra qualità e dimensione |
| Post sui social media | 12–15 fps | Leggermente più fluido per attirare attenzione |
| Clip d'azione rapida / sport | 15–20 fps | Il movimento veloce richiede più fotogrammi |
| Mai raccomandato | 24–30 fps | File enormi, nessun beneficio reale rispetto a 20 fps |
Regola empirica: inizia a 10 fps. Se il movimento appare troppo scattoso, prova 12 o 15. Se il file è troppo grande, scendi a 8. Andare oltre 20 fps ha rendimenti decrescenti — le dimensioni dei file continuano a crescere linearmente ma il miglioramento visivo diventa trascurabile.
Come funzionano i ritardi tra fotogrammi GIF
Il formato GIF memorizza la temporizzazione come ritardo per fotogramma misurato in centisecondi (1/100 di secondo):
- 10 fps = ritardo di 10 centisecondi (100 ms tra i fotogrammi)
- 20 fps = ritardo di 5 centisecondi (50 ms tra i fotogrammi)
- 50 fps = ritardo di 2 centisecondi (20 ms — minimo pratico)
I browser gestiscono i ritardi molto brevi in modo incoerente. I ritardi inferiori a 2 centisecondi sono spesso limitati a un minimo di 10 centisecondi in Chrome e Firefox, facendo riprodurre il GIF a 10 fps indipendentemente dalla velocità prevista. Mantieni sempre i ritardi tra fotogrammi a 3 centisecondi (33 fps) o superiori per una riproduzione coerente.
Controllo della velocità: GIF più veloci e più lenti
Puoi controllare la velocità percepita indipendentemente dal frame rate:
- Velocità 2x: dimezza i valori PTS (presentation timestamp), facendo riprodurre il clip due volte più velocemente mantenendo il numero originale di fotogrammi. Il GIF appare dinamico ed energico.
- Velocità 0,5x: raddoppia i valori PTS, creando un effetto slow motion. Funziona meglio con sorgenti a FPS più alti (15+ fps) in modo che il rallentamento sembri ancora fluido.
In FFmpeg, usa il filtro setpts: setpts=0.5*PTS per velocità 2x, setpts=2*PTS per metà velocità. Combina con impostazioni FPS appropriate per il miglior risultato.
Esempi pratici di dimensione del file
Lo stesso clip video di 5 secondi a 480px di larghezza, 256 colori, dithering Sierra2:
| FPS | Fotogrammi | Dimensione approx. del file | vs 10 fps |
|---|---|---|---|
| 8 fps | 40 | ~1,3 MB | -20 % |
| 10 fps | 50 | ~1,6 MB | riferimento |
| 15 fps | 75 | ~2,5 MB | +50 % |
| 20 fps | 100 | ~3,3 MB | +100 % |
| 30 fps | 150 | ~5,0 MB | +200 % |