I generated these GIFs from the same animation at different target frame rates so you can compare browser playback directly.
| Gif FPS | Gif |
| 1 FPS | |
| 2 FPS | |
| 4 FPS | |
| 5 FPS | |
| 10 FPS | |
| 20 FPS | |
| 25 FPS | |
| 50 FPS | |
| 100 FPS | |
The GIF89a spec allows 0.01s frame delays, which implies up to 100 FPS in theory. In practice, browsers usually cap playback lower (often around 50 FPS), and very fast GIFs can behave inconsistently.
A GIF also stores only 256 colors per frame, so it is not ideal for modern high-fidelity visuals, but it is still a great format for compact looping graphics and experiments like this one.
These files were generated with a C encoder I wrote by following the GIF89a byte-level format. A key reference was Project: What's In A GIF by Matthew Flickinger.