Constrained GPU Mode

The renderer detects device capabilities at initialization and chooses high or constrained. Constrained mode keeps large full-resolution raster backgrounds out of memory. No host code change is required to use automatic detection.

Automatic detection

A device is classified as constrained when any of these checks applies:

  • Device pixel ratio is at least 3.
  • Touch input is available and the primary pointer is coarse.
  • The GPU texture-upload benchmark takes more than 30 ms.

The benchmark uploads a 512 × 512 RGBA texture ten times and measures completion. Advertised maximum texture size alone does not determine the tier. These checks describe a rendering policy, rather than a guarantee for a particular phone model.

From Renderer 1.75, screen size does not affect the tier. Earlier versions also classify a device as constrained when its physical screen area exceeds 8 million pixels, which includes desktops with a 4K or large external display. On Renderer 1.74, such a desktop rendering in WebGL keeps the preview for backgrounds without detail tiles.

Background behavior

This table covers converted raster backgrounds. SVG rendering retains its existing image-loading behavior. Canvas2D is the default renderer. WebGL is used only when you set switchToWebGL: true and the browser supports it, so a default integration follows the Canvas2D row.

Aspect High tier Constrained tier
Overview Preview image Preview image
WebGL zoom detail with tiles Bounded detail from tiles Bounded detail from tiles
WebGL zoom detail without tiles Full-image fallback Preview only
Canvas2D background Full image Largest image up to 8.4 million pixels

With detail tiles, the renderer combines only the tiles needed for the visible region into a bounded detail crop. It disposes of the detail texture when zooming out and discards obsolete results during rapid movement.

From Renderer 1.74, a constrained device rendering in WebGL without detail tiles keeps the preview at every zoom level. Background details can therefore appear less sharp. The full image is not decoded to manufacture a crop on this path. High-tier rendering retains that fallback.

From Renderer 1.75, the Canvas2D renderer on a constrained device loads the largest background image of up to about 8.4 million pixels, the area of a 4096 × 2048 image: the full image when it fits, otherwise the largest reduced-resolution level generated for large backgrounds. When no image fits, it keeps the preview, which looks less sharp when zoomed in. The full-resolution image of a large venue is not decoded on this path.

Configuration

Omit gpuTier for automatic detection:

const renderer = new SeatmapBookingRenderer(container, {
  publicKey: 'your-public-key',
});

Set gpuTier when your target device fleet needs a fixed policy:

const renderer = new SeatmapBookingRenderer(container, {
  publicKey: 'your-public-key',
  gpuTier: 'constrained',
});

The accepted values are high and constrained. An explicit setting takes precedence over the gpuTier URL parameter, which takes precedence over automatic detection. For a test override, append ?gpuTier=constrained to the page hosting the renderer. Forcing high also restores the full-resolution Canvas2D background on devices detected as constrained, so those devices decode the full image again.

Verification

Enable debug: true to inspect tier selection and background loading in the browser console. Check both tiled and preview-only charts on the physical devices your application supports. Desktop emulation cannot establish a phone’s memory behavior; forcing a tier is useful for exercising the rendering path.

Type a feature, setting, endpoint or SDK method.