Jump to content

Duplicant decision making is slow and dependent on game speed


proteantablet
  • Branch: Live Branch Version: Windows Pending

I've noticed that as the game goes on (say, when >50% the map is excavated and I have a decent sized base built), duplicants seem to take a very long time to make decisions.  As in, when I'm running at the fastest game speed, a duplicant will excavate a block near-instantly, then stand there staring blankly into space for at least 2-3 times as long as the dig took.  Metering it against other game objects, this is about the amount of time another duplicant could take to run across the screen.

That by itself is annoying, but I figured maybe this was intended.  So when I had a big dig project going, I decided to try getting a better read on how long it was taking.  First, I ran at slow speed.  It seemed like the duplicants were taking less game time to make decisions, which surprised me, so I tried pausing the game just as a duplicant finished digging out one block.

 

To my surprise, it appears that the duplicant makes their choice about what to do next while the game is paused!  Their stance changes from "deer in headlight" to "ready to go", and if they're close enough to the next errand, the progress bar for it appears.

 

In other words: if I run at fastest speed, duplicants take maybe 5-10 game seconds to start their next task.  If I run at slow speed and pause strategically, they start the next task instantly!  My guess is that the decision-making happens on a background thread that runs in parallel with the main game, and I'm seeing the lag induced by having a large number of choices to sort through.

 

I don't think it's expected that changing the game speed causes the behavior of objects in the simulation to change?  If it is, it would be great if you could do anything to reduce the lag.  I'm running this on a 4.20 Ghz, 4-core  i7-7700k with 4 cores, which I think is on the speedy end -- I'm guessing most people are experiencing similar issues or worse.


Steps to Reproduce
(1) Have a big map with lots of stuff (unsure what the factors are here: I'm guessing a combination of (A) lots of objects on the map; (B) lots of machinery running; (C) lots of errands queued; (D) lots of available space/paths) (2) Queue up a large job -- say, a big construction project or a big dig (3) Watch the duplicants closely, changing game speeds and pausing



User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...