Benchmarking and Performance#

These pages help you keep Cellucid responsive on large datasets, run repeatable benchmarks, and report performance issues in a way that can actually be fixed.

They are written for mixed audiences:

  • Wet lab / non-technical: a clear “is this normal?” checklist and safe defaults.

  • Computational users: scaling rules, workflow patterns, and the data characteristics that dominate performance.

  • Power users / developers: how to measure, compare, and debug performance issues without guesswork.

Important

Cellucid performance is usually limited by one of these three resources:

  • GPU-bound (rendering): too many points/views, high visual quality, volumetric smoke, vector field overlays.

  • CPU-bound (computation): repeated filtering, heavy analysis, large category accounting.

  • Network/storage-bound (I/O): remote server latency, loading large expression chunks, slow disk/remote mounts.

The fastest fix is almost always: identify which one you hit first, then change the one knob that actually affects it.


Fast path (if it feels slow right now)#

Use this table when you’re in the middle of work and just need relief.

What you see

Most likely bottleneck

Do this first (safe)

Next page

Navigation (orbit/pan/zoom) feels choppy

GPU

Switch to Points mode, clear snapshots, close other GPU-heavy tabs

01_performance_mental_model

Slider scrubbing (filters) stutters

CPU

Turn Live filtering off and use FILTER to apply once

02_performance_considerations_what_gets_slow_and_why

Loading takes forever or tab freezes

I/O or memory

Prefer Server Mode for large .h5ad/.zarr and large exports

03_large_dataset_best_practices

Fans spin up / laptop throttles

GPU + thermals

Lower quality knobs (smoke/grid, overlays), reduce window size, fewer views

06_edge_cases_performance

“WebGL context lost” / blank canvas

GPU memory

Reload, then reduce GPU load (no smoke, fewer views, lower overlay density)

07_troubleshooting_performance

“It got slower after a change”

Regression

Run a small benchmark loop and compare numbers

04_benchmarking_methodology_and_metrics

If you suspect an environment/browser issue (not your data), also read:




Pages in this section#

Performance mental model

How to think about GPU vs CPU vs I/O bottlenecks, and how to triage quickly.

Performance mental model
What gets slow (and why)

The concrete “cost model”: which interactions scale with n_cells, n_views, categories, and overlays.

Performance considerations (what gets slow and why)
Large dataset best practices

A practical, step-by-step workflow for staying fast on very large exports.

Large dataset best practices
Benchmarking methodology

How to measure load time, FPS/latency, and memory reliably—and compare changes fairly.

Benchmarking methodology and metrics
Benchmark tools (if exposed)

How to use in-app benchmark tools when available, plus interpretation and common pitfalls.

Benchmark tools (if exposed)
Edge cases

Surprising “performance cliffs” like category explosion, too many views, GPU memory limits, and huge exports.

Edge cases (performance)
Troubleshooting

Symptom-based debugging for lag, freezes, context loss, and slow loads.

Troubleshooting (performance)
Screenshots

Screenshot capture checklist for this section (orientation, success, common failures).

Screenshots (benchmarking and performance)
Reporting bugs

A copy/paste template for reporting performance issues with the right context and metrics.

Reporting performance bugs