A browser-based benchmark tool for Vello Hybrid's WebGL2 renderer. Two modes:
- Interactive -- tweak parameters in real-time, observe FPS.
- Benchmark -- automated suite with warmup calibration, vsync-independent timing, and comparison reports.
Run with SIMD enabled (recommended):
RUSTFLAGS=-Ctarget-feature=+simd128 cargo run -- --package vello_bench2 --release
Scalar (non-SIMD) build:
cargo run -- --package vello_bench2 --release
Builds both SIMD and non-SIMD variants and serves them with a toggle button in the top bar:
./serve.sh
Then open http://localhost:8080. Requires wasm-bindgen-cli (cargo install wasm-bindgen-cli --version 0.2.114).
Build both the pinned upstream Vello (control) and your local checkout (treatment) in a single command, then toggle between them in the browser:
./ab.sh ~/repos/vello
This:
- Builds the control variant using the git revision pinned in
Cargo.toml. - Temporarily patches
Cargo.tomlto point at your local Vello checkout and builds the treatment variant. (Cargo.tomlis restored automatically, even on error.) - Serves both at http://localhost:8080 with a CONTROL / TREATMENT toggle button in the top bar.
Run benchmarks on one variant, click the toggle, run them again -- deltas against the other variant appear automatically.
Use --rev to override the control's git revision without editing Cargo.toml:
./ab.sh ~/repos/vello --rev abc123def
Use --global to bind to 0.0.0.0 (useful for testing on a tablet over the local network):
./ab.sh ~/repos/vello --rev abc123def --global
A/B mode always builds with SIMD enabled (the SIMD toggle is hidden). Use
serve.sh if you need to compare SIMD vs non-SIMD.