Prison Architect: Best preferences.txt for 1000+ Prisoner FPS

The primary goal for a mega-prison is to remove any non-essential visual filtering. Settings like Multisampling and Supersampling add a layer of GPU-CPU synchronization that can cause frame drops when the CPU is already at $100\%$ load calculating 1000+ prisoner paths. By forcing these to false, we ensure the GPU stays out of the CPU’s way.

File Path

Prison Architect’s configuration is stored in your user profile. Editing this file is safer than in-game menus, which can crash if the UI is under heavy load.

%LOCALAPPDATA%\Introversion\Prison Architect\preferences.txt

Technical Note: If the game is running, close it before saving. Some 2026 builds may require you to delete the debug.txt in the same folder if you notice persistent “hitching” after a long session.

Optimized Performance Configuration Block

Open preferences.txt and ensure the following keys match these values. This setup targets the highest possible simulation speed by removing visual overhead.

ParameterRecommended ValueTechnical Purpose
ScreenMultiSampledfalseDisables MSAA, freeing up CPU cycles used for render-state calls.
ScreenSuperSampledfalseDisables internal 2x downsampling; essential for high-population FPS.
UiScale1.0Keeps the UI at native resolution to avoid scaling overhead.
RenderUnfocusedtrueAllows the game to keep the simulation running smoothly in the background.
GraphicsFiltering0(If present) Sets filtering to the lowest “Nearest Neighbor” for maximum speed.
ScreenW            1920
ScreenH            1080
ScreenWindowed     true
ScreenMultiSampled false
ScreenSuperSampled false
UiScale            1.0
RenderUnfocused    true

HowTo: Engineering a 1000+ Prisoner Performance Stable Base

On GameEngineer.net, we know that settings files are only half the battle. Use these architectural engineering tips to keep your 2026 prison fluid:

  1. Wide Artery Pathing: Ensure all main hallways are at least 3 to 4 tiles wide. In Prison Architect, the CPU calculates “collision” and “rerouting” when prisoners bump into each other. Wide halls reduce the frequency of these expensive reroute calculations.
  2. The “Land Expansion” Trap: Land expansions significantly increase the “Navmesh” size. Every tile you add increases the search time for every single pathfinding call. Avoid large land expansions unless necessary; it is more efficient to build “up” (denser) than “out.”
  3. CPU Affinity Tweak: While PA is single-threaded, Windows often bounces that thread between cores (Core 0, Core 1, etc.). Use Task Manager to set Affinity to a single core (e.g., Core 2) and set Priority to High. This prevents “Context Switching” lag.
  4. Utilities Efficiency: Do not loop your pipes or electrical wires. Use “Tree” structures (radial) rather than “Grid” or “Circuit” structures. The engine checks for connectivity; a loop causes the calculation to run through the entire circuit twice.
  5. Regime Staggering: Never have 1000 prisoners eating at the same time. Stagger your regimes so that Block A is eating while Block B is working. This flattens the “spike” in pathfinding requests sent to the CPU.

Technical Explanation: Single-Threaded Pathfinding

Prison Architect relies on a Single-Threaded Simulation Loop. Every tick, the game processes the “Jobs” queue (moving boxes, cooking) and the “Pathing” queue (prisoners moving to the canteen). When you have 1000 prisoners and 300 staff, the pathing queue grows exponentially.

By setting ScreenMultiSampled false, you reduce the time the CPU spends waiting for the GPU to finish its frame buffer. This is known as CPU-Bound Latency. Even a $1\text{ms}$ reduction in frame-draw time allows the engine to fit more pathing calculations into a single tick. Furthermore, avoiding Land Expansions keeps the $A^*$ (A-Star) pathfinding algorithm’s “Search Grid” small, which is the most effective way to prevent the late-game “slow-motion” effect where a game minute takes 10 real seconds.

Leave a Comment