// Management · RimWorld Mod

MoeLotl: Rigor Mortis - Float Menu Fix

MoeLotl: Rigor Mortis - Float Menu Fix mod preview for RimWorld

MoeLotl: Rigor Mortis - Float Menu Fix About the General Float Menu Optimizer Float-menu slowdown may be caused by multiple mods at the same time.

MoeLotl: Rigor Mortis - Float Menu Fix

About the General Float Menu Optimizer

Float-menu slowdown may be caused by multiple mods at the same time. Installing one targeted fix may therefore not resolve every float-menu performance problem in a large mod list. As of August 24, 2026, I have confirmed that the tested versions of the following mods may cause sustained FPS loss while a map float menu remains open:
  • MoeLotl: Rigor Mortis
  • Milira Race
  • Milira: Wings of Democracy
Float Menu Performance Optimizer includes these targeted fixes and also provides Frame, Time, and Manual modes to reduce repeated menu-generation costs while the menu remains open. New users are encouraged to use the general optimizer: https://steamcommunity.com/sharedfiles/filedetails/?id=3784467506 The standalone fix remains available for users who only need the MoeLotl: Rigor Mortis fix. If both the standalone fix and the general optimizer are enabled, the standalone fix will not apply duplicate patches. Its integrated version will be handled by the general optimizer. Collection of related fixes and the general optimizer: https://steamcommunity.com/sharedfiles/filedetails/?id=3784994455 Float-menu performance monitoring tool: https://steamcommunity.com/sharedfiles/filedetails/?id=3783963046

The Problem

Testing in a large modded save confirmed that some work checks from MoeLotl: Rigor Mortis execute expensive logic on unrelated targets during map float-menu generation and revalidation. The problem usually becomes more noticeable when more Things occupy the clicked cell. Storage mods such as Adaptive Storage may amplify the slowdown, but they are not the root cause.

Let the Game Run Before Testing

The general optimizer and targeted fixes take effect immediately after loading and do not write any additional fix state into the save. However, the original float-menu performance problem may not appear immediately after loading a save while the game is still paused. Some related work checks are activated only after game ticks advance and pawn jobs, reservations, building comps, or map components update their state. Before comparing performance, let the game run unpaused for a while, then compare the menu-closed and menu-open states. A lack of slowdown immediately after loading a save while paused does not prove that the problem is absent or that the fix has no effect.

Main Fixes

1. RM_Recover scans the map for unrelated targets RM_Recover searches the map for abnormal zombie caskets while checking candidate targets. The original logic may be called repeatedly when right-clicking unrelated medicine, food, weapons, and other objects. The fix immediately skips the original logic unless the target is a relevant zombie casket. Actual caskets still use the mod's complete original behavior. 2. The skill-book WorkGiver performs expensive searches on unrelated targets Axolotl_ReadMoeLotlQiSkillBooks searches for skill books, bookshelves, and their contents. Float-menu generation may repeatedly trigger these checks on unrelated targets. The fix skips the WorkGiver unless the target is a MoeLotl skill book. Normal reading behavior remains unchanged. 3. Incantation graphics may be loaded from a parallel rendering thread When attaching or executing an incantation, the related graphics may first be requested during parallel pawn pre-rendering and produce: “Attempted to load a graphic off the main thread” The fix preloads the relevant incantation graphics on the main thread during startup and allows the render nodes to reuse the prepared cache.

Current Test Results

The comparison was measured with Float Menu Performance Monitor. The general optimization mode and the other integrated targeted fixes were disabled during testing. During one complete float-menu generation in the same test scenario:
  • Without the MoeLotl fix: RM_Recover used approximately 12.2–15.4 ms.
  • With the MoeLotl fix: RM_Recover no longer appeared among the main performance hotspots.
  • Total menu-generation time: approximately 60.9–67.7 ms → 47.3–51.9 ms.
In this test environment, the fix removed approximately 12–16 ms of unrelated checks from each complete menu generation. These values measure execution time inside the float-menu code path, not FPS directly. They demonstrate the mechanism of the fix and do not guarantee the same improvement on every device, save, or mod list.

Compatibility and Saves

This patch uses Harmony to add target prefiltering and graphic caching. It does not modify the original mod files or add new Defs, Things, or components that must be stored in the save. It should be safe to add or remove from an existing save. Fully restart RimWorld after changing the mod list, and keep normal backups of important saves. When used together with Float Menu Performance Optimizer, there is no need to load two copies of the same patches. The general optimizer handles its integrated version, while the standalone fix stops loading its own DLL.

Monitoring and Reports

To profile the original unoptimized behavior, open the general optimizer settings and: 1. Set the general optimization mode to Disabled. 2. Disable the relevant entry under the integrated fix settings. Disabling only the general optimization mode does not disable the integrated targeted fixes. You may send the monitoring results and Player.log to an AI for analysis, or send them to me. I may review and respond to reports from time to time.

Development Notes

OpenAI Codex assisted with investigating the call chain, diagnosing the problems, and writing the patches. In-game functionality and performance results were verified through actual A/B testing by the author.