The objective is to minimize the background “noise” that the engine processes every frame, allowing your CPU to focus entirely on the Pawn Tick Rate (Rpawn).
- Directory Path: Press
Win + R, type%APPDATA%\..\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\, and hit Enter. - The Target: Open
Prefs.xml. - Pro Tip: After making these changes, do not use the in-game options menu to change resolution or volume, as it may overwrite your custom performance tags.
Optimized “Simulation Stability” Configuration Block
<PrefsData>
<uiScale>1.0</uiScale>
<customCursorEnabled>false</customCursorEnabled>
<verticalSync>false</verticalSync>
<resourceReadoutCategorized>true</resourceReadoutCategorized>
<showPlantWindSway>false</showPlantWindSway>
<showShadows>false</showShadows>
<maxSimulatedTicksPerFrame>10</maxSimulatedTicksPerFrame>
<smoothCamera>false</smoothCamera>
</PrefsData>
Configuration Breakdown & Technical Purpose
| Parameter | Recommended Value | Technical Purpose |
customCursorEnabled | false | The Interrupt Fix. Reduces the CPU overhead of custom software cursors. |
showPlantWindSway | false | Disables vertex math for thousands of plants, saving GPU/CPU cycles. |
resourceReadoutCategorized | true | Prevents the UI from drawing a massive, unorganized list of every item. |
maxSimulatedTicksPerFrame | 10 | Forces the engine to prioritize simulation catch-up over frame rendering. |
showShadows | false | Significantly reduces draw calls for high-pawn count raids. |
HowTo: Engineering the UPS Recovery Pipeline
Follow these GameEngineer.net technical steps to maintain a 360+ TPS average:
- The “Ghost” Pawn Protocol: RimWorld’s biggest UPS killer is the World Pawn Cache. The game remembers every visitor and raider that ever left your map alive. Use the RocketMan mod or a manual cleanup to “mothball” these pawns, reducing the $E_{count}$ (Entity Count) the engine checks every tick.
- Pathfinding Grid Density: In your
Prefs.xml, keepingshowShadowsatfalseis vital because shadows are recalculated during pathing updates. For late-game colonies, use “Pathfinding Burn” mods to prevent pawns from constantly recalculating routes through complex furniture layouts. - The “Categorized Readout” Secret: When you have 100,000 corn and 50,000 wood, the standard resource list in the top left causes a UI thread hang. Enabling
resourceReadoutCategorizedin your XML groups these into single entries, dramatically lowering UI draw latency ($L_{ui}$). - Affinity Masking: Open Task Manager > Details > RimWorldWin64.exe > Set Affinity. In 2026, unchecking CPU 0 and CPU 1 (the OS’s preferred cores) and assigning the game to your highest-frequency $P-Core$ can yield a $10-15\%$ UPS boost.
- Wind Sway & Vertex Shaders: Every blade of grass in RimWorld “sways.” In a large colony, this translates to millions of unnecessary calculations per second ($S_{vertex}$). Setting
showPlantWindSwaytofalseis the most effective way to stabilize FPS during heavy weather events like toxic fallout.
Technical Explanation: Ticks vs. Frames ($TPS$ vs. $FPS$)
In RimWorld, the game logic runs in “Ticks.” Standard speed is 60 TPS ($1 \times$), 180 TPS ($2 \times$), and 360 TPS ($3 \times$).
$$UPS \approx \frac{Available\_Single\_Thread\_Speed}{Simulation\_Complexity}$$
By engineering the maxSimulatedTicksPerFrame to 10, you allow the game to process up to 10 logic steps before it bothers to draw a single frame. If your CPU falls behind, the game will sacrifice visual smoothness (FPS) to ensure the simulation (UPS/TPS) stays on schedule. For a competitive or massive colony player, a “choppy” game that runs at full speed is always superior to a “smooth” slide-show.