Skip to content

Executable evidence

Prove the cadence on this device.

Run the deterministic timing protocol locally. For live layouts and appearance, open the fullscreen Explorer. No uploaded traces. No favorable-machine screenshot.

Reference run · 100k nodes / 300k edges8.3 msmedian frame cadence · 2D and 3D
First meaningful frame395 / 305 ms2D / 3D
1% incremental update9.1 / 10.2 ms2D / 3D · 1,000 nodes
GPU work2 calls100k visible edge budget

Chrome 150 on macOS, DPR 2 capped to 1, captured 21 July 2026. Treat it as a reference, not a universal score—run the same Prove protocol below on your device.

Runs locally on this device

graphraum proof lab

Timed protocol · complete result · no telemetry

Explorer
Live viewport 2D · ready

Drag to pan · scroll to zoom · select a node

First meaningful framefixture to visible graph
Rendered frame p95scheduled render cadence
1% node updatepositions + incident edges
Full snapshot +1%complete graph replacement
Visible materializationLOD and edge budget
GPU draw callsper rendered frame

Sample distributions

Statistical analysis

Run the benchmark to populate distribution statistics.

Frame mean
Frame median
Frame p99
Frame σ
Frame CV
Selection p99

Browser-local evidence

Run history

Runs are saved in this browser after they complete.

Complete a run to start the comparison.

History stays in this browser. The selected graph size filters the chart so unlike fixtures are never compared as peers.

Ready. Nothing has been measured yet.

Keep this tab visible and avoid DevTools throttling for a representative run.

Complete benchmark JSON
Run the benchmark to produce a result.

Open the fullscreen Explorer for layouts (grid, circle, force, force live) and appearance controls. That surface is for visual verification, not a published score.

  • Phases: fixture generation, renderer construction, synchronous setData, and the first visible frame are reported separately.
  • First meaningful frame: the complete fixture-through-first-frame path for compatibility with earlier results.
  • Display cadence: 30 idle animation frames establish the device and display baseline.
  • Frame times: 120 explicitly scheduled renders at 1k/10k and 30 at 100k, reported as p50, p95, and max.
  • Long tasks: browser Performance Observer entries over 50ms during the run.
  • Selection feedback: 20 selection changes at 1k/10k and 5 at 100k, measured through the following animation frame.
  • Incremental update: position changes for 1% of existing nodes, including only their node matrices and incident edge endpoints.
  • Full update: replacement with a graph containing 1% more nodes and three edges per node.
  • GPU draw calls: Three.js renderer calls from the final frame.
  • Picking strategy: spatial-grid lookup in 2D or instanced raycasting in 3D.
  • Viewport and LOD: visible node count, incident edge candidates, rendered edge count, and active detail/overview tier.
  • Heap growth: Chrome’s non-standard precise heap counter when available; null elsewhere.

Prove is a rendering microbenchmark. It does not measure network loading, force-layout convergence, label rendering, application state, accessibility overlays, or a production Graph Explorer. The 100k fixture intentionally allocates a large in-memory graph and may expose long tasks while full-snapshot updates remain synchronous. Keep the tab visible, avoid DevTools throttling unless that is the experiment, and compare repeated fresh-page runs on the same browser and effective pixel ratio.