In 2026, the primary performance killer isn’t the graphics—it’s the Simulated Ticking. However, how you “print” those ticks to your screen matters. By adjusting PRINT_MODE and the FPS_CAP, you can ensure that your GPU handles the rendering while your CPU focuses on calculating every individual dwarf’s finger joints and social anxieties.
File Paths
Dwarf Fortress uses two primary files for configuration. These are found in your game directory:
- Window & Sound:
[DF Folder]\data\init\init.txt - Game Logic & FPS:
[DF Folder]\data\init\d_init.txt
Technical Note: If you are using the Steam version but want the ASCII look, you don’t necessarily need to edit files—you can toggle “Classic” in the settings. However, the init.txt allows for deeper “Print Mode” overrides that the UI doesn’t always expose.
Optimized Init Configuration Block (init.txt)
This setup is optimized for Classic (ASCII) users who want maximum speed and Graphic users who want stable 60 FPS.
| Parameter | Recommended Value | Technical Purpose |
PRINT_MODE | 2D (Classic) / SHADER (Graphic) | SHADER offloads tile rendering to the GPU; 2D is safest for ASCII. |
FPS_CAP | 100 | Controls the “Speed” of the simulation. Higher = faster gameplay. |
G_FPS_CAP | 60 | Limits how often the screen redraws. Prevents GPU waste. |
TEXTURE_PARAM | NEAREST | Keeps ASCII and tiles sharp; LANCZOS makes them look “fuzzy.” |
COMPRESSED_SAVES | NO | Speeds up saving/loading times at the cost of disk space. |
# Found in data/init/init.txt
[PRINT_MODE:SHADER] <-- Change to 2D for Classic/Older hardware
[FPS_CAP:100] <-- Default simulation speed
[G_FPS_CAP:60] <-- Graphical refresh rate (saves power)
[TEXTURE_PARAM:NEAREST]
[COMPRESSED_SAVES:NO]
Performance Logic & Simulation (d_init.txt)
To keep your fortress alive past 200 dwarves on GameEngineer.net, you must address the simulation overhead in d_init.txt:
- Temperature Calculations:
[TEMPERATURE:NO]. This is the single biggest “FPS Fix.” Calculating the heat transfer of every sock and rock is taxing. Note: This will stop ice from melting and obsidian from cooling. - Weather:
[WEATHER:NO]. Rain creates “contaminants” (mud/puddles) that the game has to track. Disabling it saves significant CPU cycles. - Contaminant Spreading:
[WALKING_SPREADS_SPATTER_DWF:NO]. Prevents blood and filth from being tracked across the fort. In a 2026 mega-fortress, blood-tracking is a leading cause of late-game death by lag. - Population Cap:
[POPULATION_CAP:120]. 200 dwarves is the default, but 120 is the “Golden Ratio” for a high-traffic, high-TPS (Ticks Per Second) fortress. - Cavern Tracking: If you have multiple cavern layers open, the game is pathfinding for every “Forgotten Beast” and “Troglodyte.” Seal off unused caverns with walls to remove them from the pathfinding mesh.
Technical Explanation: G_FPS vs. Simulation FPS
Dwarf Fortress runs on two separate clocks. The FPS (Simulation) is how fast the world moves. The G_FPS (Graphical) is how fast your screen updates.
Setting [G_FPS:20] while keeping [FPS:100] will make the game look “choppy” like an old movie, but it allows the CPU to spend nearly all its time on pathfinding and logic instead of updating the display. For GameEngineer.net users on laptops or older hardware, this “Asynchronous” approach is the only way to reach the 20-year fortress milestone without the simulation slowing down to a crawl.