O que é a taxa de quadros GIF?
O FPS (quadros por segundo) é o número de imagens individuais exibidas por segundo em uma animação. Ao contrário dos padrões de vídeo (24/30/60 fps), as taxas de quadros GIF são flexíveis — cada quadro pode ter seu próprio valor de atraso. As taxas de quadros típicas de GIF variam de 5 a 20 fps, sendo 10 fps o padrão mais comum.
A especificação GIF armazena o tempo dos quadros como um atraso em centissegundos (centésimos de segundo). Por exemplo, 10 fps usa um atraso de 10 centissegundos entre quadros, enquanto 20 fps usa um atraso de 5 centissegundos. Esse tempo por quadro é armazenado no bloco Graphics Control Extension de cada quadro.
O compromisso central: fluidez vs tamanho do arquivo
A relação entre FPS e tamanho do arquivo é aproximadamente linear: dobrar a taxa de quadros aproximadamente dobra o número de quadros, o que aproximadamente dobra o tamanho do arquivo. Isso torna o FPS a segunda configuração mais influente depois da resolução para controlar o tamanho do GIF.
| FPS | Quadros (5 s) | Tamanho aprox. (480px) | Qualidade do movimento |
|---|---|---|---|
| 5 fps | 25 | ~0,8 MB | Truncado, tipo slideshow |
| 8 fps | 40 | ~1,3 MB | Passos perceptíveis |
| 10 fps | 50 | ~1,6 MB | Bom equilíbrio |
| 15 fps | 75 | ~2,5 MB | Suave |
| 20 fps | 100 | ~3,3 MB | Quase vídeo |
| 30 fps | 150 | ~5 MB | Fluidez de vídeo (excessivo) |
Recomendações de FPS por tipo de conteúdo
| Tipo de conteúdo | FPS recomendado | Por quê |
|---|---|---|
| Animação de logotipo simples | 5–8 fps | Poucos elementos em movimento, fluidez não é crítica |
| Gravação de tela / demo UI | 8–12 fps | O movimento do cursor precisa de alguma fluidez |
| GIF web padrão / meme | 10–12 fps | Melhor equilíbrio entre qualidade e tamanho |
| Publicação em redes sociais | 12–15 fps | Ligeiramente mais fluido para chamar atenção |
| Clipe de ação rápida / esportes | 15–20 fps | Movimento rápido precisa de mais quadros |
| Nunca recomendado | 24–30 fps | Arquivos enormes, sem benefício real sobre 20 fps |
Regra prática: comece com 10 fps. Se o movimento parecer muito truncado, tente 12 ou 15. Se o arquivo for muito grande, diminua para 8. Passar de 20 fps tem retornos decrescentes — os tamanhos de arquivo continuam crescendo linearmente, mas a melhoria visual se torna insignificante.
Como funcionam os atrasos entre quadros GIF
O formato GIF armazena o tempo como um atraso por quadro medido em centissegundos (1/100 de segundo):
- 10 fps = atraso de 10 centissegundos (100 ms entre quadros)
- 20 fps = atraso de 5 centissegundos (50 ms entre quadros)
- 50 fps = atraso de 2 centissegundos (20 ms — mínimo prático)
Os navegadores tratam atrasos muito curtos de forma inconsistente. Atrasos abaixo de 2 centissegundos são frequentemente limitados a um mínimo de 10 centissegundos no Chrome e Firefox, fazendo o GIF tocar a 10 fps independentemente da velocidade pretendida. Mantenha sempre os atrasos entre quadros em 3 centissegundos (33 fps) ou mais para uma reprodução consistente.
Controle de velocidade: GIFs mais rápidos e mais lentos
Você pode controlar a velocidade percebida independentemente da taxa de quadros:
- Velocidade 2x: divide pela metade os valores de PTS (presentation timestamp), fazendo o clipe tocar duas vezes mais rápido mantendo a contagem original de quadros. O GIF parece dinâmico e enérgico.
- Velocidade 0,5x: dobra os valores de PTS, criando um efeito de câmera lenta. Funciona melhor com fontes de FPS mais altas (15+ fps) para que a desaceleração ainda pareça suave.
No FFmpeg, use o filtro setpts: setpts=0.5*PTS para velocidade 2x, setpts=2*PTS para metade da velocidade. Combine com configurações de FPS apropriadas para o melhor resultado.
Exemplos práticos de tamanho de arquivo
O mesmo clipe de vídeo de 5 segundos a 480px de largura, 256 cores, dithering Sierra2:
| FPS | Quadros | Tamanho aprox. do arquivo | vs 10 fps |
|---|---|---|---|
| 8 fps | 40 | ~1,3 MB | -20 % |
| 10 fps | 50 | ~1,6 MB | referência |
| 15 fps | 75 | ~2,5 MB | +50 % |
| 20 fps | 100 | ~3,3 MB | +100 % |
| 30 fps | 150 | ~5,0 MB | +200 % |