Exporting fractals at 100,000 pixels

A 100,000 × 100,000 image contains ten billion pixels. It cannot be treated like a normal screenshot or one in-memory GPU texture, so MandelKit divides the job into controlled pieces.

Beyond a single Metal texture

GPU families impose a maximum dimension for an individual texture. Even before that boundary, the uncompressed pixel buffer of a giant image would require tens of gigabytes. Increasing one texture allocation is therefore neither portable nor reliable.

MandelKit’s macOS 2D export renders tiles whose dimensions stay within safe limits, then composes the result through a disk-backed pipeline. Peak memory remains bounded while the final image can be much larger than any one Metal texture.

Preserving the visible composition

The chosen width determines the output height from the visible canvas aspect ratio. Every tile uses the coordinates of its exact portion of that view, preventing the crop mismatch that would occur if each tile were rendered as an isolated square.

Sampling and edge overlap are handled at tile boundaries so antialiasing and screen-space effects do not reveal seams in the assembled image.

A practical large-export workflow

Finish the composition at screen size first, then test a moderate export before committing to the maximum. Very large files need enough free storage for intermediate data and for the encoded result, and their total time depends on iterations, antialiasing and effects as well as dimensions.

  • Confirm the aspect ratio and framing in the live canvas.
  • Choose a file format supported by the target dimensions and workflow.
  • Keep the Mac awake and leave sufficient free disk space during the export.
  • Use the progress indicator in the app and Dock to follow long jobs.

What the 100,000-pixel limit means

MandelKit supports custom macOS 2D exports up to 100,000 × 100,000 pixels. The practical result also depends on the selected encoder, available storage and the complexity of the scene. Histogram equalization is intentionally unavailable in this disk-backed path because it requires global image statistics before final coloring.