Aquarium Screensaver Simulator
Tune a seeded aquarium animation, balance fish and bubble motion, and compare live frame delivery with your selected fullscreen FPS target.{{ summaryTitle }}
{{ summaryLine }}
{{ summaryAnnouncement }}
Tank director
{{ cue.title }}
{{ cue.priority }}{{ cue.detail }}
The chart renderer is unavailable. Exact signal values remain available in Tank director and Scene ledger.
| Signal | Value | Meaning | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.display }} | {{ row.detail }} |
An ambient display succeeds when it can stay visible without continually asking for attention. Aquarium motion is useful for that job because fish, bubbles, current, and light have familiar rhythms, yet the scene can still become tiring when every element moves strongly at once.
Three choices shape the character of a virtual tank. Formation describes whether fish appear orderly or are pushed into conflicting lanes. Motion character comes from bubble speed, size, drift, and camera movement. Ambience comes from glow, haze, light rays, and the apparent depth of the water. These choices interact, so adding detail is not always the same as improving the scene.
- A desk display usually benefits from fewer fish, modest bubble drift, and a steady bidirectional flow.
- A lobby screen can carry more silhouettes, but fullscreen playback may reveal crowding that a small preview hides.
- A video backdrop needs enough contrast to remain legible behind overlays without strong camera drift competing with the speaker.
Frame rate is part of the design rather than a cosmetic number. A 60 FPS target asks the device to draw twice as many frames as 30 FPS, and added fish, bubbles, haze, trails, or a larger fullscreen canvas can reduce the delivered rate. The selected target is a cap; the measured rate shows what the current browser and display actually sustain.
Comfort cannot be reduced to one score. Slow movement may still distract some viewers, and a calm-looking preview may feel busier after several minutes. Pause the scene when motion interferes with reading, concentration, or accessibility needs, and judge the final setup on the screen where it will run.
How to Use This Tool:
Build the visual hierarchy first, then test motion and performance on the intended display.
- Choose a Theme, Fish profile, and Swim direction. Bidirectional flow is a restrained starting point for general ambient use.
- Set Fish count from 4 to 60, then adjust swim speed, current, schooling, and turbulence. Watch the lane cue for a formation that is too flat or too unstable.
- Tune bubble rate, size, and drift before adding camera movement. Use glow, light rays, haze, jellyfish, plants, and seabed detail only where they improve depth.
- Select a 30, 45, or 60 FPS target and apply the settings. Pending changes do not alter the running preview until they are applied.
- Start the preview and compare Measured FPS with Target FPS. Test fullscreen on the actual device, then pause or reset; reset returns the selected seed to its original layout.
Interpreting Results:
The three director cues are editing prompts, not scientific ratings. Hold formation balance, Keep movement readable, and Polish display mood mean the repo-authored checks found no threshold condition that needs attention. A different cue identifies which type of motion to adjust first.
- When measured FPS stays close to the target, the current device is keeping pace. A lower rate calls for fewer moving elements, a lower target, or less fullscreen load.
- A signal at 100% has reached its intervention threshold. Values above 100% show how far the index passed that reference, up to a displayed cap of 150%.
- The scene seed repeats the initial arrangement under the same settings and canvas size. It does not guarantee identical measured FPS on another device.
Technical Details:
The scene model compresses many visual controls into three transparent indexes. They are repo-authored tuning heuristics: their purpose is to expose why a cue changes, not to measure human perception or certify display comfort.
Formula Core
Lane pressure adds current and turbulence, then subtracts schooling. Bubble motion multiplies the selected rate by drift and size scales. Cinematic load adds fixed contributions for light rays and haze to camera drift.
C is current strength, T turbulence, S schooling, R bubble rate, D bubble drift percent, Z bubble-size percent, and M camera drift. The indicator variables I and H equal 1 when light rays or haze are on and 0 when they are off.
Rule Core
Each cue follows ordered conditions. Strict greater-than and inclusive boundaries matter at the cutoffs.
| Signal | Condition | Cue |
|---|---|---|
| Formation | Lane pressure ≥ 92, or alternating direction with speed > 1.8 | Stabilize swim lanes |
| Formation | Lane pressure ≤ 20 and speed < 0.85 | Increase lane energy |
| Motion | Bubble motion > 1.9, or camera drift > 74 | Trim motion character |
| Motion | Bubble motion < 0.7 and bubble rate < 0.6 | Add ambient movement |
| Ambience | Light rays off, haze off, and glow < 34 | Lift ambience depth |
| Ambience | Cinematic load > 92 and glow > 76 | Ease showcase intensity |
If no listed condition matches, the corresponding steady cue is used. Threshold proximity divides lane pressure by 92, bubble motion by 1.9, or cinematic load by 92, converts the ratio to a percentage, and clamps the display from 0% to 150%.
The selected seed initializes fish, jellyfish, and bubbles with a repeatable pseudo-random sequence. Fish direction, positions, sizes, and speeds are then animated over time, so replay comparisons are meaningful only when the seed, scene settings, and canvas dimensions remain fixed.
Delivered frames are counted over windows of at least one second. When measured FPS falls below 72% of the target, drawing quality drops by 6 percentage points to a 68% floor. When delivery exceeds 95%, quality rises by 4 points toward 100%. This adaptive scale protects cadence but does not change the director formulas.
Limitations and Privacy Notes:
The aquarium is a browser animation and a display-tuning aid, not a device benchmark or a clinical motion-comfort test.
- Measured FPS varies with browser scheduling, screen size, pixel density, other tabs, power mode, and hardware.
- All scene settings and rendering stay in the browser; no image, video, or aquarium data is uploaded.
- Fullscreen support depends on browser permissions. Pause the preview whenever sustained motion is uncomfortable or distracting.
Worked Examples:
Quiet meeting-room display
Start with 10 to 14 fish, bidirectional flow, moderate schooling, low turbulence, and a 30 FPS target. Keep camera drift near zero, then add bubbles or one depth effect rather than stacking haze and light rays immediately. If Increase lane energy appears, raise speed slightly before adding more fish. Run fullscreen long enough to obtain a measured rate and keep the scene only if nearby text remains easy to read.