A typical histopathology whole-slide image is between two and six gigapixels. Loaded naively, the file is larger than most browsers will even open. The challenge of a pathology viewer is not rendering fidelity, it is making an enormous file feel as responsive as Google Maps.
The tile pyramid
Every modern whole-slide format, from SVS to NDPI to MRXS, stores the image as a pyramid of tiles at progressively lower resolutions. The viewer's job is to fetch the right tiles at the right zoom level, decode them, and stitch them into the visible viewport while the user pans or zooms.
This is well-known territory. What is less obvious is the latency budget. A 60fps pan means fourteen milliseconds per frame for network fetch, JPEG decode, GPU upload, and composite. Break that budget and the user feels it instantly.
Three optimizations that moved the needle
- Predictive tile prefetching that follows the direction of the user's pan.
- Decoded-tile caching in a GPU-backed texture atlas instead of re-decoding per frame.
- Zoom-aware tile requesting — when the user is mid-zoom, we avoid requesting tiles at levels they will pass through.
Individually none of these are novel. Together they cut our ninety-ninth percentile frame time from forty-two milliseconds to under nine. The viewer now feels indistinguishable from a local image at any zoom level on any reasonable internet connection.
Performance is the feature pathologists notice first and stop noticing last. Get it right once and you stop having to defend it.
What is next
We are working on a WebGPU path that lets us push per-tile colormap adjustments, immunohistochemistry channel unmixing, and AI annotation overlays onto the GPU instead of rerunning them on every frame in JavaScript. Early numbers are promising. We will write about it once the rollout is complete.




