Flashback Turbo
A Fabric addon for Flashback that drastically speeds up video export — without quality loss.
Proven in the field
Validated across hundreds of real anonymous exports on Windows (primary platform), macOS and Linux. Export failure rate ~1%, and every observed failure was external (not enough RAM allocated for very long replays, or the game closed mid-export) — never a regression introduced by FlashbackTurbo itself.
What it does
Patches Flashback's export pipeline via Mixin to replace serial, low-tuned operations with parallel ones:
- Parallel PNG writer (N-1 threads) + configurable zlib level + RGB color-type when transparency is off
- FFmpeg threading tunes per encoder (
h264_nvenc, h264_qsv, h264_videotoolbox, libopenh264)
- Removes the silent 4K downscale cap
- Fragmented MP4 muxer on hardware encoders → ~10× faster finalize
- Animated "Saving…" overlay during the post-export phase
- Fixes a Flashback crash on mid-replay exports (null
mc.level race)
- Auto-promotes software → GPU encoding — when an export would use the slow
libopenh264 encoder, redirects it to a hardware encoder (NVENC/QSV) when one is available. Fail-safe, SSIM ≥ 0.99.
All hooks are opt-in via config/flashbackturbo.json and default to safe values.
Performance
Controlled benchmark (PNG sequence)
Real 1.21.11 replay, 10-second slice at 1920×1080 (603 frames):
| Mode |
Total |
Per frame |
| Vanilla |
96 081 ms |
159 ms |
| Turbo |
8 774 ms |
14 ms |
10.95× end-to-end.
Real-world field data (MP4 export)
| Platform · encoder |
Median export |
Windows · NVIDIA h264_nvenc |
~8.5 s (60 fps) |
Windows · Intel h264_qsv |
~23 s (60 fps) |
macOS · h264_videotoolbox |
~26 s (30 fps) |
Software fallback libopenh264 |
~55 s |
Quality
Lossless PNG output — zlib level only changes file size, decoded pixels are bit-identical. The FFmpeg threading tunes don't change the encoded bitstream.
Privacy
FlashbackTurbo sends anonymous usage telemetry (PostHog) to prioritise improvements: a random local UUID, no username / IP / file paths, sanitised exception messages. Fully fail-safe and opt-out — set "enableTelemetry": false in the config.
Requirements
Also available on Modrinth · Source: GitHub