Matrix Screensaver Simulator
Tune seeded Matrix-style code rain, balance motion and contrast, then compare measured frame delivery with the selected FPS target.{{ summaryTitle }}
{{ summaryLine }}
Operator brief
The chart renderer is unavailable. The same values remain in Matrix metrics.
| Signal | Value | Meaning | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.display }} | {{ row.detail }} |
Code rain looks simple because every stream follows the same broad direction. Its visual rhythm actually depends on several competing choices: how many columns fit across the display, how quickly glyphs move, how long their tails remain, and how much flicker or glow separates a bright head from the background.
Density and character size determine the basic grid. Smaller glyphs create more lanes, while larger glyphs leave more space around each stream. Speed then changes how quickly the eye must follow those lanes. A dense scene can remain readable at a calm speed, and a sparse scene can still feel aggressive when it combines fast drops with turbulence.
- Vector
- The vertical speed and lateral movement that give each stream its path.
- Texture
- Flicker, background speckle, and scanlines that roughen an otherwise clean field.
- Persistence
- How long earlier frames remain visible as a tail behind the leading glyph.
- Contrast
- The separation between the dark background, stream body, bright head, and glow.
These qualities should be judged together. Heavy dimming and strong glow may erase tail detail instead of improving it. Long persistence can make slow rain feel fluid, but it can also merge neighboring columns. Flicker and scanlines can suggest an older display while making a large fullscreen scene harder to watch.
A frame-rate target sets the maximum drawing cadence, not a promise from the device. Canvas size, pixel density, lane count, motion effects, and competing browser work all affect delivery. A seed makes the starting layout repeatable under the same scene and canvas dimensions, which helps compare two visual choices without mistaking a new random arrangement for an improvement.
How to Use This Tool:
Establish readable lanes before adding texture and lighting.
- Choose a Theme, Character set, rain direction, and density. Use medium density and 100% character scale as a neutral comparison point.
- Set Drop speed, Tail persistence, and the 30, 45, or 60 FPS target. Increase speed or tail length separately so their effects remain easy to judge.
- Add column motion, flicker, background noise, scanlines, glow, and head highlight in small steps. The operator brief flags high motion, high texture, or crushed contrast.
- Enter a scene seed and apply the settings. Edits made after applying remain pending until the scene is applied again.
- Run the preview long enough to collect Measured FPS and FPS delivery. Check fullscreen, then reset to reproduce the seeded starting layout.
Interpreting Results:
Balanced scene means the motion, texture, and contrast rules all remain outside their heavy or deliberately minimal combinations. Heavy scene means at least one of high vector load, high noise, or crushed contrast is present. Clean scene is a narrower state: straight low-wave motion, minimal texture, and soft contrast must all occur together.
- Use Operator brief to identify the first visual tradeoff to address, then change one contributing control at a time.
- Compare measured FPS with the selected target. A high scene score does not prove poor performance, and smooth delivery does not prove comfortable motion.
- Keep seed, canvas size, density, and character scale fixed when comparing two lighting or texture choices.
Technical Details:
The pressure model is a repo-authored description of the rendered scene, not a graphics benchmark. It derives lane geometry from canvas width and glyph size, then turns motion, texture, trails, lighting, and frame-rate settings into separate percentages so unlike effects are not hidden inside one total score.
Formula Core
Glyph size starts from the selected density profile and character scale. Column count is the integer number of those glyph widths that fit across the canvas.
The density bases are 24 px for low, 18 px for medium, 14 px for high, and 11 px for ultra. The high and ultra profiles also increase vector load through factors of 1.18 and 1.35; low and medium use 1.00.
Motion, texture, and frame fading use the following equations. v is drop speed, k the density factor, f flicker rate when flicker is on, b equals 1 when background noise is on, s is scanline strength, t tail persistence, and d background dim.
Motion pressure is vector load divided by 4.05. Texture pressure divides noise load by its maximum stacked contribution. Trail pressure maps 8 to 60 frames onto 0% to 100%, lighting pressure averages glow and head highlight, and frame budget maps 30 to 60 FPS onto 50% to 100%. FPS delivery is measured FPS divided by target FPS and capped at 100%.
Rule Core
The scene profile follows these exact state boundaries.
| State | Condition | Result |
|---|---|---|
| Vector | Load > 2.55, or turbulent motion with strength > 72 | High |
| Vector | Straight motion with strength < 12 | Flat |
| Noise | Noise load > 1.2 | High |
| Noise | Flicker off, background noise off, and scanlines < 10 | Minimal |
| Contrast | Background dim > 60 and glow > 72 | Crushed |
| Contrast | Background dim < 18 and head highlight < 55 | Soft |
Unmatched states are balanced. Any high vector, high noise, or crushed contrast state makes the overall profile heavy. Only the combined flat, minimal, and soft states make it clean; every other combination is balanced.
Respawn frequency is interpreted per 1,000 when a lane crosses the canvas edge. The seed, canvas width, and canvas height initialize lane positions, rates, phases, glyphs, and background points, so changing the viewport changes the repeated layout even when the seed stays the same.
Performance, Motion, and Privacy Notes:
Live performance reflects the current browser session. The preview measures frames over roughly one-second windows and adapts drawing resolution when delivery moves far from the target.
- Below 72% delivery, quality drops by 5 percentage points to a 70% floor. Above 95%, it rises by 3 points toward 100%.
- A reduced-motion preference prevents automatic playback, suppresses wave, flicker, and turbulent variation, and pauses a running scene when the preference changes.
- The animation, seed, measurements, and settings remain in the browser; no scene content is uploaded.
- Fullscreen support and delivered FPS depend on browser permissions, canvas size, pixel density, hardware, and competing work.