RimWorld

RimWorld

Rim73 - Performance and Optimisations
Viser 21-30 af 34 forekomster
< 1  2  3  4 >
Opdatering: 16. aug. 2021 kl. 13:15

Small Hotfix for Drilling

Opdatering: 16. aug. 2021 kl. 12:36

- New Job System (more details below)
- Fixed chain jobs productivity (building conduit/sowing/harvesting etc...), pawns will now start a new job right after they completed the previous one.
- Fixed "Pathing to destroyed object" error
- Fixed "Started new job while doing job" warning
- Trotthled these jobs and quickstart :

LayDown
Wait
GotoWander
Wait_MaintainPosture
Goto
OperateDeepDrill
FinishFrame (building stuff)
Clean
CutPlant
Sow
Harvest
HarvestDesignated
CutPlantDesignated
Wait_Wander


- New Job system and extreme optimisations :
The new system works with UInt64 hashing of jobDef instead of string comparison, this has 2 major performance improvements : 1st, we compare 2 64 bits (8 bytes) values to each other which is really REALLY fast for a CPU to do, 2nd we are no longer fetching the hardcoded strings from memory wherever the program has decided to put them, instead the hashes are pre-compiled and are fetched instantly by the CPU because they are coded as instructions.

This results in a massive improvements, String.Equals used to take 12% of the ticking for JobDriver, now it takes 0.14%.

Opdatering: 15. aug. 2021 kl. 5:30

- Fixed Pawns who use the Deep Drill sometimes getting stuck and drilling until they pass out.
- Fixed comfort need who wasn't getting compensated for the fact that we only tick Sleeping once every 150 ticks instead of all the time in vanilla.
- Throttled the jobs : Wait, Wait_MaintainPosture, Goto to 1/220 of vanilla's speed.
- Fixed Hediffs who didn't tick or ticked too fast, now time compensation is correct.
- Fixed infections not happening because it uses a weird system with ticks going into the negatives to see if pawn should get infected.
- Fixed immunity who was ticking too fast relative to diseases

Opdatering: 14. aug. 2021 kl. 18:48

- Fixed Gen.IsHashTickInterval() function to reduce unecessary calculations and simplifying it to GameTicks + thingIdNumber % interval, which is the same as Rocketman, this further adds compatibility with Rocketman.

Opdatering: 14. aug. 2021 kl. 17:20

[Auto-generated text]: Update on 8/15/2021 2:20:06 AM.

Opdatering: 14. aug. 2021 kl. 16:36

[Auto-generated text]: Update on 8/15/2021 1:35:59 AM.

Opdatering: 14. aug. 2021 kl. 13:03

[Auto-generated text]: Update on 8/14/2021 10:01:55 PM.

Opdatering: 14. aug. 2021 kl. 11:43

- Fixed an error that occured when trying to path to a non existing object, for example when 2 pawns try to clean the same filth, while pathing to it, the filth might have disappeared.

Opdatering: 14. aug. 2021 kl. 10:32

Initial setup for Hediff optimisations, time dilatation for certain jobs.

Opdatering: 13. aug. 2021 kl. 15:36

- Fixed Mechs trying to bust out of their Ancient Dangers to kill the player, go as far as digging through deep mountains to do so