Nodes/DJZ-Nodes/Screensaver Generator V3
ComfyUI Node

Screensaver Generator V3

Same nostalgia, snappier internals

By MushroomFleet·Created 3 years ago·Updated 6 months ago· 80
Screensaver Generator V3
    • images
    ◄preset▾►
    ◄width512►
    ◄height512►
    ◄fps30►
    ◄max_frames60►
    ◄color_scheme▾►
    ◄speed1.0►
    ◄plasma_wave_count_x10.0►
    ◄plasma_wave_count_y10.0►
    ◄plasma_circle_count20.0►
    ◄plasma_radial_count10.0►
    ◄plasma_time_scale0.10►
    ◄plasma_color_shift0.0►
    ◄plasma_distortion0.0►
    ◄starfield_star_count100►
    ◄starfield_star_size_multiplier1.0►
    ◄starfield_star_speed_multiplier1.0►
    ◄starfield_star_brightness1.0►
    ◄bounce_shape_count5►
    ◄bounce_min_size20►
    ◄bounce_max_size50►
    ◄bounce_shape_type▾►
    ◄bounce_bounce_damping1.0►
    ◄bounce_gravity0.0►
    ◄pipes_pipe_thickness5►
    ◄pipes_pipe_spawn_rate20►
    ◄pipes_pipe_speed5.0►
    ◄3d pipes_pipe_thickness8►
    ◄3d pipes_pipe_spawn_rate30►
    ◄3d pipes_pipe_speed3.0►
    ◄3d pipes_max_pipes15►
    ◄flying toasters_toaster_count8►
    ◄flying toasters_toast_count6►
    ◄flying toasters_wing_speed0.20►
    ◄flying toasters_size_variation0.3►
    ◄windows maze_wall_height1.0►
    ◄windows maze_fov60►
    ◄windows maze_movement_speed0.05►
    ◄windows maze_rotation_speed0.03►
    ◄windows maze_maze_size20►
    ◄matrix_char_size0.5►
    ◄matrix_char_spacing20►
    ◄matrix_stream_length10►
    ◄matrix_spawn_rate10►
    ◄matrix_fade_rate20►
    ◄matrix_char_set▾►

    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 with toaster_count, toast_count, wing_speed and size_variation. The windows maze preset's fov, maze_size and 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.

    Categorysd

    Inputs (46)

    NameTypeDefaultDescription
    presetCOMBO8 options: plasma, starfield, bounce, pipes, 3d pipes, flying toasters, +2
    widthINT51264–4096—
    heightINT51264–4096—
    fpsINT301–60—
    max_framesINT601–9999—
    color_schemeCOMBO4 options: classic, rainbow, neon, monochrome
    speedFLOAT1.00.1–5—
    plasma_wave_count_xFLOAT10.01–30—
    plasma_wave_count_yFLOAT10.01–30—
    plasma_circle_countFLOAT20.01–50—
    plasma_radial_countFLOAT10.01–30—
    plasma_time_scaleFLOAT0.100.01–1—
    plasma_color_shiftFLOAT0.00–1—
    plasma_distortionFLOAT0.00–5—
    starfield_star_countINT10010–1000—
    starfield_star_size_multiplierFLOAT1.00.1–3—
    starfield_star_speed_multiplierFLOAT1.00.1–5—
    starfield_star_brightnessFLOAT1.00.1–2—
    bounce_shape_countINT51–20—
    bounce_min_sizeINT205–100—
    bounce_max_sizeINT5010–200—
    bounce_shape_typeCOMBO4 options: circle, square, triangle, star
    bounce_bounce_dampingFLOAT1.00.5–1.5—
    bounce_gravityFLOAT0.0-1–1—
    pipes_pipe_thicknessINT51–20—
    pipes_pipe_spawn_rateINT205–50—
    pipes_pipe_speedFLOAT5.01–15—
    3d pipes_pipe_thicknessINT84–20—
    3d pipes_pipe_spawn_rateINT3010–60—
    3d pipes_pipe_speedFLOAT3.01–10—
    3d pipes_max_pipesINT155–30—
    flying toasters_toaster_countINT81–20—
    flying toasters_toast_countINT60–15—
    flying toasters_wing_speedFLOAT0.200.1–0.5—
    flying toasters_size_variationFLOAT0.30–0.5—
    windows maze_wall_heightFLOAT1.00.5–2—
    windows maze_fovFLOAT6030–90—
    windows maze_movement_speedFLOAT0.050.01–0.1—
    windows maze_rotation_speedFLOAT0.030.01–0.1—
    windows maze_maze_sizeINT2010–50—
    matrix_char_sizeFLOAT0.50.1–2—
    matrix_char_spacingINT2010–50—
    matrix_stream_lengthINT103–30—
    matrix_spawn_rateINT101–30—
    matrix_fade_rateINT205–50—
    matrix_char_setCOMBO4 options: matrix, binary, ascii, katakana

    Outputs (1)

    NameTypeDescription
    imagesIMAGE—