Patternata
High-Performance Large-Format Canvas Engine for iOS
A Metal-powered tiled rendering system enabling canvases up to 12,993 × 12,993 px and 8,268 × 21,260 px at 300 DPI on iPhone and iPad.
The Real Constraint
Most drawing apps rely on a single large GPU texture. At 300 DPI, print-scale canvases quickly exceed safe memory and texture limits.
Allocating these as single textures leads to crashes, frame drops, or instability on memory-constrained iPhones. Patternata was built to solve this at the architectural level.
Beyond every GPU texture limit.
Constraints
GPU Texture Size Limits
Metal texture allocation constraints for large dimensions.
Memory Pressure on 4GB Devices
Stability on iPhone 11-class hardware.
Real-Time Interaction
Maintaining smooth pan, zoom, and draw on extreme pixel counts.
Export Constraints
Avoiding single-texture export bottlenecks.
Print Fidelity
Preserving physical scale accuracy at 300 DPI.
Tiled Rendering
Tile Grid Engine
Instead of allocating one massive texture, the canvas is divided into a grid of smaller tile textures. Each tile is managed independently, created on demand, and cached with device-tiered memory limits.
Runtime Stability
60 FPS Stability
Rendering is viewport-driven. Only visible tiles are rendered per frame.
Interaction updates use transforms instead of full redraw.
Stroke baking targets intersecting tiles only.
Render loop is capped at 60 FPS intentionally for stability and thermal control.
Progressive Pipeline
Large outputs do not render as a single texture. Instead, the export pipeline processes the canvas progressively to stay within hardware limits.
Outcome
Print-scale rendering up to 8,268 × 21,260 px
Smooth pan, zoom, and draw on extreme canvases
Tiered stability from iPhone 11 to M-series iPad
Reliable output without texture-limit failures
Role & Ownership
Led the architecture and implementation of the tiled Metal rendering engine, memory-tiered tile system, selective redraw pipeline, and progressive export strategy.