# performance.maxRenderPixels

Part of [Performance](https://kernstra.com/docs/web-sdk/config/performance) in the Kernstra Web SDK 1.0.0 configuration reference.

- Type: `number`
- Default: `2^24`
- Page: https://kernstra.com/docs/web-sdk/config/performance/maxrenderpixels

Pixel budget per bitmap: a page's, and the full-resolution layer over a page zoomed past it. It bounds every bitmap the viewer draws a page into (width × height in device pixels). A page whose whole bitmap would exceed it is drawn at a lower resolution and stretched to its on-screen size instead of allocating a runaway bitmap — an A4 page at 800% zoom on a 2× display is ~128M pixels (512MB) otherwise, and iOS Safari refuses a canvas over 2^24 pixels. The part of such a page in view is then drawn again at the screen's full resolution, into a second bitmap laid over it and held to the same budget, so text and vector art stay sharp at every zoom up to [`navigation.maxZoom`](https://kernstra.com/docs/web-sdk/config/navigation/maxzoom) on a 2× display. That layer is drawn once scrolling settles and after the page itself, follows the page through a zoom, is held only for pages in view, and is not counted in `renderCacheSize`. The default is 2^24 (about 16.7M pixels). The budget also bounds the bitmap each printed page is rendered to: a page whose 300 dpi raster would exceed it prints at a lower resolution (printing draws no full-resolution layer).

Web page: https://kernstra.com/docs/web-sdk/config/performance/maxrenderpixels
