HTML5 Canvas Stress Test

Fishbowl Benchmark

Measure browser animation throughput with a live animated aquarium.

Use this fishbowl benchmark when you need a quick, visual way to stress Canvas 2D rendering. Add fish, enable decorative effects, watch FPS and frame time, and let auto stress mode find a practical stable score for the current browser window.

No installCanvas 2DAuto stress modeLive FPS history
FPS

0.0

Fish

120

Frame Time

0.0 ms

Stable Score

Waiting

LightGPU / CPU load estimateHeavy

Load Estimate

0%

Fishbowl FPS History

Waiting for samples
The chart fills as the fishbowl animation produces FPS samples.

Best signal

Use the stable score plus the FPS chart. Together they show both capacity and consistency.

Repeatable setup

Keep fish count, effects, browser, window size, and power mode fixed for each comparison.

Practical load

The workload resembles real interactive Canvas scenes more than a single synthetic counter.

What the Fishbowl Benchmark Measures

The Fishbowl Benchmark focuses on the browser path that powers many dashboards, games, education tools, and visual effects: HTML5 Canvas 2D. Instead of rendering one heavy shader, it draws and animates many small objects every frame. Fish, bubbles, plants, particles, light rays, caustics, rocks, coral, and optional trails create a workload that mixes CPU-side simulation with GPU-backed rasterization and compositing.

FPS shows how many frames the browser can present per second. Frame time shows how expensive each frame is. A low, steady frame time is usually more useful than a short burst of high FPS because it indicates that animation can stay smooth under sustained load. The stable score records the highest fish count that remains near 60 FPS during the current session.

How to Use the Test

Start with the default fish count and watch the chart for a few seconds. Increase the slider when the frame time is flat, or enable Auto stress to let the page add fish while performance remains healthy. The 2,000 fish button is a fast jump for modern desktops, while Clear is useful for checking baseline overhead from the background scene alone.

For fair comparisons, keep the same browser window size, display scale, power mode, and effect toggles. Fullscreen usually makes the test harder because the canvas covers more pixels. Smaller windows often sustain more fish at 60 FPS, so record the window size whenever you compare two systems.

When This Benchmark Is Useful

Use this fishbowl benchmark to compare browsers, integrated and discrete GPUs, laptop power profiles, remote desktop sessions, or driver updates. It complements the heavier volume shader benchmark: the fishbowl test highlights 2D drawing command throughput and compositing behavior, while the volume shader test isolates fragment shader math.

Reading the Result Correctly

Treat the first seconds as warm-up. Browser engines may compile code, resize buffers, or adjust compositing paths after the page starts. A stronger result is one that stays steady after the chart has collected enough samples. If FPS drops sharply when trails or caustics are enabled, that usually means the system is sensitive to extra drawing commands, transparency, or overdraw rather than raw pixel fill alone.

The best comparison is not a universal score. It is a controlled before-and-after run on the same settings.

Last updated: May 8, 2026