Freezing while panning

Crash Performance
mattm35 · 1 month ago

Hi,

First post. I have a few thousand hours in this game and absolutely love it! Over the last few weeks the screen is constantly freezing while panning (WASZ). I have researched online and changed the frame rate, disabled overlay in Steam all of which didn't fix anything. I am at a loss and the game is unplayable. Any help would be greatly appreciated! I have attached the logs as suggested in the Wiki.

1 attachment only for registered users
mattm35 · 1 month ago

Here you go. I removed all mods and still having same issue. Thank for the help.

Captain Matt Captain Matt · 1 month ago

I can't find the save, did you attach it here?

mattm35 · 1 month ago

Attached. It didn't upload last time.

1 attachment only for board moderators
mattm35 · 1 month ago

Captain Matt wrote:

I can't find the save, did you attach it here?

Were you able to review the attachment?

Captain Matt Captain Matt · 1 month ago

Yes, but i can't repro the issue, can you provide more context?

mattm35 · 1 month ago

It's a micro freeze while panning using WASZ. It will freeze for 5-10 seconds and then catch up but it often times happens very frequently (several times a minute).

mattm35 · 1 month ago

I should be more specific. The game doesn't freeze, the ability to continue panning freezes. The screen is locked in place even though I am still pressing a key to pan. After a 5-10 seconds it releases but then happens again soon thereafter.

Captain Matt Captain Matt · 1 month ago

I have never seen that behavior, maybe it's the mod you are using, try to export_recovery_save to export the save and reload it without that mod.

mattm35 · 1 month ago

I uninstalled the auto explore mod and received the message below when trying to load:

The game failed to load as the save file is corrupted. If this issue persists, please file a bug report.

Mafi.Serialization.CorruptedSaveException: Failed to finalize deserialization of 'Mafi.Core.Simulation.SimLoopEvents' (type 'SimLoopEvents')
parent object '--' (type '--')
Previous deserialized in this finalize call: <none - failure is the first delayed deserializer in this finalize call>
Last deserialized across all finalize calls: 'Mafi.Core.SaveGame.GameSaveInfo' (type 'GameSaveInfo')
Last read object types: [FuelStationsManager, PinnedProductsManager, TravelingFleetManager] ---> Mafi.Serialization.CorruptedSaveException: Deserialized object has type 'UnityConsumerFactory' but type 'Event' was expected. ToString returned 'Mafi.Core.Population.UnityConsumerFactory'. classId: 104, readObjects.Count: 128
at Mafi.Serialization.BlobReader.TryStartClassDeserialization[T] (T& obj, System.Func3[T1,T2,TResult] customNewObjFactory, System.Func3[T1,T2,TResult] customNewObjFactoryOnTypeLoadFail, System.Boolean nullObjIsOk) [0x000dd]
at Mafi.Event.Deserialize (Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Core.Simulation.SimLoopEvents.DeserializeData (Mafi.Serialization.BlobReader reader) [0x00044]
at Mafi.Core.Simulation.SimLoopEvents+<>c.<.cctor>b__100_1 (System.Object obj, Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__37.MoveNext () [0x00054]
--- End of inner exception stack trace ---
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__37.MoveNext () [0x00202]
at Mafi.Core.SaveGame.GameLoader+<FinishGameLoadAndDisposeTimeSliced>d__12.MoveNext () [0x004ef]
at Mafi.Core.Game.GameBuilder+<BuildLoadedGameTimeSliced>d__1.MoveNext () [0x005a4]
at Mafi.Unity.GamePlayScene+<loadGame>d__28.MoveNext () [0x002ca]
at Mafi.Unity.GamePlayScene+<Initialize>d__25.MoveNext () [0x000ad]
at Mafi.Unity.Main+<unloadAndStartNewScene>d__117.MoveNext () [0x0013b]
at Mafi.Unity.Main.stepSceneInitialization () [0x00104]

Game version: 0.8.7b
Loaded mods: (Trains expansion 1.0.0), (Supporter edition 1.1.0), (Cheat++ 1.4.5), (Utilities++ 1.2.6)
Failed mods: none

Captain Matt Captain Matt · 1 month ago

Try the export_recovery_save console command just to see if a vanilla run (of the same map) doesn't suffer from that. (you'll find the vanilla save in the load menu)

Edited 1 month ago
poltime poltime · 14 days ago

Based on your log data, the problem is a specific rendering and input synchronization glitch caused by how the Unity engine interacts with the Windows graphics swap chain.

Your logs highlight the root culprit in this line:
Direct3D: detected that IDXGISwapChain::GetFrameStatistics is broken... Delta time will now be calculated using cpu-side time sampling...

When you pan with WASD/WASZ, the game tries to pull fluid frame-timing updates from your NVIDIA GeForce RTX 3060 Ti. Because that communication is "broken" in the engine's current state, the CPU takes over the calculations. This causes severe "frame pacing" mismatches where camera input packets get locked up for 5–10 seconds while the visuals try to synchronize, giving you that frustrating panning paralysis.

To restore smooth camera panning, work through these proven fixes in order:

1. Toggle VSync and Set "Unlimited" Frames

Even though you adjusted the frame rate, the combination of specific frame limits and VSync heavily triggers this camera hitching issue.

  1. Launch the game and open the Settings menu.
  2. Turn VSync completely OFF.
  3. Set your internal Frame Limit to Unlimited.
    Note: If your GPU starts running too hot or loud with unlimited frames, enforce a global frame limit externally via the NVIDIA Control Panel instead of the in-game settings.

2. Reset the Game Registry & Configuration

Corrupted configuration data tied to VSync or graphics settings frequently triggers engine sampling desyncs over long playthroughs. You can force a deep reset of these values without losing your save files:

  1. Open your Steam Library.
  2. Right-click Captain of Industry and select Properties.
  3. In the General tab, look for the Launch Options text box at the bottom.
  4. Paste the following exact command: --reset-all-settings
  5. Launch the game once. The settings will revert to default, which often un-breaks the swap chain loop.
  6. Crucial: Close the game and delete that launch option right away, or your settings will reset every time you boot up.

3. Check Active Overlays (Tower & Mining Filters)

Community updates show a correlation between panning lockups and the extended map overlay system.

  • Check if you are panning while zoomed way out with active resource layers, mining designations, or Tower Area overlays turned on.
  • If the freeze happens mostly while these are active, try toggling the overlays off before initiating sweeping WASZ pans across your factory grid.

4. Switch Display Modes

Because Windows is failing to send frame statistics to the game window, changing the window presentation style can bypass the glitch:

  • If you are playing in Windowed Fullscreen (Borderless), change the graphics settings to Exclusive Fullscreen.
  • Alternatively, if you are already in Fullscreen, switch to Borderless to force Windows to manage the frame timing presentation differently.
169 Showing 1–13 of 13