Skip to content

Graphics presets

The first time a machine opens the game it is probed: the GPU’s name and limits are read and a benchmark of a fraction of a second is run. From that the game picks a preset, shown in the GRAPHICS window of the sidebar together with the reasons.

PresetWhat it isMeant for
Higheverything as authored, at the window’s own resolutiona recent graphics card with 8 GB or more
Medium70 % render scale, lighter shadows and clouds, drawn at up to 1440p. Same memory as Highan 8 GB graphics card that is not fast enough for High
Low50 % render scale, no tree or lamp shadows, small textures and geometry pools, drawn at up to 1080p. About half the memorya graphics card with 4 to 6 GB

The sea is the largest single pass of the frame on every preset and is paid per pixel, which is why the lower presets draw fewer pixels before anything else.

A GPU whose maximum buffer size is under 1.5 GiB (iOS and iPadOS Safari, for example) always uses the small pools of Low, whatever is picked. Below Low there is a safe mode (no sun shadows, clouds or grass, a smaller picture, the earlier and lighter sea, people and furniture at lower levels of detail) for phones and tablets, for software renderers, for machines under 3 GB of video memory, and for machines on which Low itself failed.

Safe mode lowers what is drawn, not what the world is. A loaded world holds about 2.5 GB of video memory and as much again of working memory on every preset. Recent phones do start it, at a low frame rate; one that runs out of memory loses the tab. So when a start did not finish on the lowest settings, the next load shows a card that says so, with a “Try again” button, and fetches and builds nothing until that is pressed.

An effect that is switched off when the game starts is not compiled until it is switched on. On the lowest settings that leaves out the cloud shader, the largest in the engine, along with ambient occlusion, bloom, sun shafts and wet reflections. Switching one on in the sidebar compiles it then, which takes a few seconds for clouds.

Every setting in the pipeline and display windows can be changed, and the change is remembered as a difference from the preset; “Reset to preset” in the GRAPHICS window drops them. Texture sizes and memory pools are fixed when the game starts, so a preset change asks for a reload to apply those.

The game also protects itself. If a session dies while starting or right after a setting was changed (the tab ran out of memory, the GPU device was lost), the next load sets the changed settings aside, and if that is not enough lowers the preset one step at a time. The GRAPHICS window says what was done and offers the way back. In play, a frame rate that stays under 10 frames a second lowers an automatically chosen preset by one step.

Address bar switches, for one page load each:

?gfx=low, ?gfx=medium, ?gfx=highforce that preset; nothing is stored
?gfx=safeforce safe mode
?gfx=autorun the detection even in an automated browser (headless runs use High by default so that bakes and captures do not depend on the machine)
?audio=light, ?audio=fullforce the lighter or the full sound graph (see “Phones and tablets”)

__graphics() in the console prints the whole decision: the device as probed, the predicted frame rate per preset, the preset in force and the state of the boot guard. __pipelines() lists the effects still waiting to be compiled and the water in use.

Written by release:site-sync from SETUP.md at v2026.10.05. Edit the engine document, not this page.