Rasterized
Vector-render each page once into a bitmap per size/zoom bucket, then draw that bitmap and GPU-transform it during gestures — so scrolling and zoom never re-execute the content stream. Heavy gesturing is cheap and content-independent; the costs are one rasterization hitch per bucket and softness when zoomed past the raster resolution until the zoom settles and it re-rasterizes. Best for slow devices and dense pages.
Parameters
supersampling multiplier over the on-screen pixel size. 1 = rasterize exactly at display resolution (sharpest and cheapest — the default). >1 = oversample, e.g. for screenshots or print-ish export. <1 = undersample for cheap previews/thumbnails.
hard cap on the longest bitmap side, protecting memory on huge pages and deep zooms.
after a zoom settles, re-render the visible page at the zoomed resolution so deep zoom stays crisp instead of upscaling the base raster. Costs one extra rasterization per zoom settle.
compensate the engine's 1-px hairline floor for any raster-vs-screen scale difference, so sub-pixel strokes (0.1-width ECG traces, fine table rules) never vanish when the bitmap is downscaled.