Expand description
Frame rendering coordinator — sequential, parallel, and streaming pipeline modes.
§Render Modes
| Mode | I/O | Parallelism | Best for |
|---|---|---|---|
render_all_frames | PNG files on disk | Sequential | Debugging, inspection |
render_parallel | PNG files on disk | Rayon (N cores) | Large renders with disk I/O |
render_to_ffmpeg_pipe | FFmpeg stdin | Rayon + pipe | Fastest — zero PNG overhead |
§Pipeline comparison
Sequential PNG: [frame 0] → PNG → [frame 1] → PNG → … → FFmpeg
Parallel PNG: [frame 0]
[frame 1] (all at once, Rayon)
[frame 2] → disk → FFmpeg
Pipe (fastest): bounded Rayon batch → ordered RGBA frames → FFmpeg → MP4
Zero disk I/O, zero PNG compression overheadStructs§
- Native
Render Config - Configuration for a native render job.
- Pipe
Config - Piped encoding configuration (no intermediate PNG files).
- Render
Cancellation Token - Render
Control - Render
Progress
Enums§
- Still
Image Format - Video
Codec - Video codec used by the FFmpeg pipe encoder.
Functions§
- build_
pipe_ ffmpeg_ args - Build FFmpeg arguments for rawvideo stdin pipe and the selected codec.
- render_
all_ frames - Render all frames sequentially to PNG files.
- render_
frame_ timed - Render a single frame and return elapsed time (for benchmarking).
- render_
parallel - Render all frames in parallel using Rayon, then write PNGs.
- render_
still_ fallible - Render one composition frame directly to PNG, JPEG, or WebP.
- render_
to_ ffmpeg_ pipe - Render frames in bounded parallel batches and stream raw RGBA to FFmpeg stdin.
- render_
to_ ffmpeg_ pipe_ fallible - Fallible variant of
render_to_ffmpeg_pipe. - save_
frame - Save a single
RgbaImageframe to disk.