RimWorld

RimWorld

Pawn Tracker
 This topic has been pinned, so it's probably important
JDMiller95  [developer] Nov 18, 2023 @ 2:08pm
INFO: Settings
Settings menu now allows you to specify how frequently to run certain updates!

Check for arrived/departed pawns (ticks)
Searches for all pawns on colony/active maps and makes the relevant updates if a pawn who was present is now missing, or someone new has arrived. Medium-low impact on performance. Default: 100

Check for & address dead pawns (ticks)
Checks for pawns whose deaths slipped by the patch for pawn deaths and converts their data from a PawnTrackerComp to a DeadPawnComp. Low impact on performance. Default: 100

Re-check if pawn is colonist, prisoner, etc. (ticks)
Updates pawns into the proper bucket, which in turn designates where they should show up on the main pawn menu and what types of events we need to keep track of. Currently this involves iterating through all tracked events, but this will be updated shortly to reduce the impact of more-extensive histories. The same update is also triggered for a specific pawn when a new event is added, but this helps catch things that slipped through. Medium impact on performance. Default: 300.

Clean up certain events (ticks)
Does little bit of maintenance on removing "rescue" events for captured prisoners... and potentially also other things, eventually. Very low impact on performance. Default: 300

Check for changes in pawns' relationships (ticks)
Looks through pawns' relationships for new or changed statuses (safer than adding the events as a patch). High impact on performance; totally safe to set this to 0 if you don't care for relationship tracking in the first place. Default: 300

Testing Results
I've run some performance tests on colonies of different sizes in order to get a baseline for what settings might be best for what colonies. This also confirmed that dead pawns are of very minimal impact, and non-colonists have significantly less of an impact than colonists. I do intend to perform further tests on a broader range of colony/game makeups, including to identify the level of influence from longer histories.

FPS results[ibb.co]
GameComponent average ms[ibb.co]
Last edited by JDMiller95; Nov 18, 2023 @ 7:00pm
< >
Showing 1-1 of 1 comments
JDMiller95  [developer] Nov 19, 2023 @ 4:59pm 
MAJORLY improved performance with some updates! Default settings are the same; impact of relationship tracking remains the primary culprit, but the default settings should get you good performance with tons of pawns!

(I didn't test FPS this time because it became apparent just how much that was being influenced by additional variables I struggled to control for...)

New GameComponent average ms[ibb.co]
< >
Showing 1-1 of 1 comments
Per page: 1530 50