Skip to content

Mandelbrot Explorer

Pan and zoom a live fractal, then compare JavaScript, Rust WASM, and WebGL2.

Drag to pan, or use the arrow buttons. Ctrl/⌘ + scroll zooms. On a view control, use arrow keys to pan, +/− to zoom, or Home to reset.

WASM render

-

Resolution

960×540

Center

-0.700000, 0.000000i

Zoom

1.0×

The GPU uses 32-bit floating point. For very deep zooms, try a CPU engine to reduce precision artifacts.

Compare rendering engines

Render the same view and resolution with JavaScript, Rust WASM, and the GPU. Timings are measured on your device, and can vary between runs.

JavaScript
N/A
Rust WASM
N/A
WebGL2 GPU
N/A

Export an edge render

Render the current view at 1920×1080 in a Rust worker, then download the PNG. Render time comes from the worker’s response header.

Render the current view to create a PNG.

Edge render time

N/A

PNG size

N/A

Implementation notes

JavaScript and Rust WASM render on the CPU. WebGL2 runs a shader on the GPU. A Rust Cloudflare Worker renders high-resolution PNGs of the same view at the edge.

The Rust WebAssembly module is built from packages/fractal-wasm and the edge PNG is rendered by packages/fractal-rust through the /api/rust gateway proxy.