Best case
A recent laptop or desktop
Heavy presets need a discrete or recent integrated GPU and up-to-date graphics drivers to run at full resolution.
Before you start
Stims runs in any browser with WebGL2. It uses WebGPU where the browser supports it, and lowers its own detail when frames start dropping.
Best case
Heavy presets need a discrete or recent integrated GPU and up-to-date graphics drivers to run at full resolution.
When frames drop
Stims lowers resolution, feedback-buffer size, and particle density. The preset's equations and its response to audio do not change.
First run
Play demo needs no microphone or tab permission. Switch to your own audio once a preset is running.
By device
| Device | Expect |
|---|---|
| Recent desktop or laptop | Full resolution on most presets, including the heaviest shaders. |
| Older laptop or integrated graphics | Detail drops on heavy presets to hold the frame rate. |
| Laptop on battery | Capped at 60fps, and at 30fps below 35% charge. Settings can turn this off. |
| Phone or tablet | Starts at a lower quality step. Touch gestures change and steer presets. |
| TV browser | Choose TV balanced in Settings and leave the other options alone. |
Automatic
Manual
One measurement
A code change is benchmarked in a real browser with the preset, audio, viewport, renderer, and quality step held constant. In one equation-heavy WebGPU case on an Apple M1 Max, a JIT change cut average frame work from 17.56 ms to 15.31 ms at 4× CPU throttling, and median FPS went from 58.14 to 59.88.
That is one preset on one machine, not a promise about yours. The method, and the noisier tier that was left out, are in the repository's runtime performance notes .
First steps
Keep going