Tessera Viz

PX-02

Performance

Numbers you can reproduce.

A vendor's benchmark is a claim about the vendor's laptop. What follows is the guidance we are prepared to stand behind — which renderer suits which size, and where the honest ceiling is — and a plain statement of what we will publish, and how you will be able to check it, rather than a table of figures you have no way to verify.

Which renderer, at which size.

Nodes

Renderer

What you get

Under 2,000

SVG

A DOM element per node. CSS, the inspector and screen readers all work.

2,000 – 20,000

Canvas

One element. Full styling, 60fps interaction.

20,000 – 100,000+

WebGL

GPU-drawn, with the same geometry and styling.

Above ~250,000

Aggregate first

We give you the clustering to do it. We do not pretend the screen has a million useful pixels.

← Swipe for the rest of the table →

What these figures are, and are not.

renderer: auto picks by size

You do not have to know in advance which band a graph falls into. Every layout, every algorithm and every event works identically in all three, so crossing a band changes the renderer and nothing else.

Frame time depends on your data

A heavily decorated graph is slower than a plain one. Density matters as much as count: fifty thousand nodes with four hundred thousand links is a different problem from fifty thousand with sixty thousand.

A baseline, not a promise

These bands are where each renderer stops being the right tool on ordinary hardware. They are not a guarantee about yours, and we would rather say so than be quoted back a number we cannot defend.

Why there is no table of milliseconds here

Because you could not reproduce it yet. Numbers from a vendor you cannot check are numbers you should not trust — including ours. When the benchmark runs publicly we will publish the figures with the hardware named, the dataset linked and the command to run it yourself.

What makes it fast enough to matter.

One geometry, three renderers

Shape is a set of pure functions all three call. Nothing is computed twice and nothing drifts, so the WebGL path is not a separate implementation that has to be kept in step.

Incremental updates

Add nodes, remove nodes, change properties, and the view animates to the new state rather than redrawing it. A live feed does not cost a full re-layout every time it arrives.

Analysis in the browser

Twenty-six algorithms run over the graph you already have. The round trip you are not making is usually larger than any rendering difference.

Import only what you use

The packages are separate, so a chart-only application never downloads the graph engine. Per-package gzipped sizes are generated by our build rather than written down by hand.

Tessera Viz is in beta.