Screensaver Generator V3
Same nostalgia, snappier internals
- images
ScreensaverGeneratorV3 is the same idea as V2 - generate retro screensaver animation (plasma, starfield, bounce, pipes, 3D pipes, flying toasters, windows maze, matrix) as a batch of image frames - but it's a from-scratch rewrite rather than a tweak. Same presets, same giant parameter list, same output; the difference is under the hood: a cleaner preset-loading system, a cached color-palette manager, and more thorough validation and error handling. If you're picking between the two, this is the one to install into your workflow. If you already have V2 wired up, there's no burning reason to switch - but V3 is the version the author kept improving.
How it works
Like V2, V3 loads .scg preset files from the pack's ScreenGen/ directory at runtime (bounce, matrix, mazeV2, pipes, pipesV2, plasma, starfield, toastersV2 map to the eight presets you see in the dropdown). Each preset brings its own renderer and its own parameters, which is why the input list is so long - plasma_wave_count_x, starfield_star_count, bounce_gravity, pipes_pipe_thickness, matrix_char_set and friends are per-preset, and you ignore the ones for presets you're not using. The rewrite's color system caches palettes per color scheme so repeated frames don't recompute them, and the palette generation is where the four schemes - classic (blue/cyan), rainbow, neon, monochrome - actually get their character.
The inputs that matter
- preset - the eight-way dropdown. The star of the show is still
flying toasters, complete withtoaster_count,toast_count,wing_speedandsize_variation. Thewindows mazepreset'sfov,maze_sizeand movement speeds are the closest thing to a first-person walk through 1996 you'll get out of ComfyUI. - width / height (64–4096, default 512) - frame size. 512²–1024² is the sweet spot; the CPU renders these with numpy/OpenCV, so 4K gets slow, and at 4096 with lots of frames you'll feel it.
- fps / max_frames (defaults 30/60) - timing and length.
- color_scheme and speed - global mood and tempo.
Output is the images IMAGE batch. Wire it to a video encoder or Save Video; there's no file-saving built in, unlike FFXFADEORAMA.
The honest take
Let's be direct: V2 and V3 are close enough that most users won't notice a difference frame-to-frame - they share presets, defaults, and the whole "load a .scg file" architecture. V3's edge is robustness (the doc claims comprehensive error handling for preset load failures and palette errors) and the palette cache. So: use V3 unless you've already got V2 in a saved workflow and don't want to touch it. One real caveat for both - the parameter surface is huge and mostly irrelevant to whatever preset you're running, so collapse the widgets for the presets you don't care about, or the node eats your whole canvas. And remember this generates procedural frames, not diffusion output: it's a background/transition/period-piece tool, not a creative sampler. For that, it's genuinely good and a lot of fun.
Inputs (46)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 8 options: plasma, starfield, bounce, pipes, 3d pipes, flying toasters, +2 | |
| width | INT | 51264–4096 | — |
| height | INT | 51264–4096 | — |
| fps | INT | 301–60 | — |
| max_frames | INT | 601–9999 | — |
| color_scheme | COMBO | 4 options: classic, rainbow, neon, monochrome | |
| speed | FLOAT | 1.00.1–5 | — |
| plasma_wave_count_x | FLOAT | 10.01–30 | — |
| plasma_wave_count_y | FLOAT | 10.01–30 | — |
| plasma_circle_count | FLOAT | 20.01–50 | — |
| plasma_radial_count | FLOAT | 10.01–30 | — |
| plasma_time_scale | FLOAT | 0.100.01–1 | — |
| plasma_color_shift | FLOAT | 0.00–1 | — |
| plasma_distortion | FLOAT | 0.00–5 | — |
| starfield_star_count | INT | 10010–1000 | — |
| starfield_star_size_multiplier | FLOAT | 1.00.1–3 | — |
| starfield_star_speed_multiplier | FLOAT | 1.00.1–5 | — |
| starfield_star_brightness | FLOAT | 1.00.1–2 | — |
| bounce_shape_count | INT | 51–20 | — |
| bounce_min_size | INT | 205–100 | — |
| bounce_max_size | INT | 5010–200 | — |
| bounce_shape_type | COMBO | 4 options: circle, square, triangle, star | |
| bounce_bounce_damping | FLOAT | 1.00.5–1.5 | — |
| bounce_gravity | FLOAT | 0.0-1–1 | — |
| pipes_pipe_thickness | INT | 51–20 | — |
| pipes_pipe_spawn_rate | INT | 205–50 | — |
| pipes_pipe_speed | FLOAT | 5.01–15 | — |
| 3d pipes_pipe_thickness | INT | 84–20 | — |
| 3d pipes_pipe_spawn_rate | INT | 3010–60 | — |
| 3d pipes_pipe_speed | FLOAT | 3.01–10 | — |
| 3d pipes_max_pipes | INT | 155–30 | — |
| flying toasters_toaster_count | INT | 81–20 | — |
| flying toasters_toast_count | INT | 60–15 | — |
| flying toasters_wing_speed | FLOAT | 0.200.1–0.5 | — |
| flying toasters_size_variation | FLOAT | 0.30–0.5 | — |
| windows maze_wall_height | FLOAT | 1.00.5–2 | — |
| windows maze_fov | FLOAT | 6030–90 | — |
| windows maze_movement_speed | FLOAT | 0.050.01–0.1 | — |
| windows maze_rotation_speed | FLOAT | 0.030.01–0.1 | — |
| windows maze_maze_size | INT | 2010–50 | — |
| matrix_char_size | FLOAT | 0.50.1–2 | — |
| matrix_char_spacing | INT | 2010–50 | — |
| matrix_stream_length | INT | 103–30 | — |
| matrix_spawn_rate | INT | 101–30 | — |
| matrix_fade_rate | INT | 205–50 | — |
| matrix_char_set | COMBO | 4 options: matrix, binary, ascii, katakana |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |