Jump to content

Recommended Posts

Hello,

Are there known mods which cause rimjobworld surgery not to function? As in, the surgery happens but the parts wont be applied on the body (but used up).

Ive looked trough the mods at the starting page and removed evolved organs, but that didnt fix it so far.

Link to comment
1 hour ago, Solzucht said:

Hello,

Are there known mods which cause rimjobworld surgery not to function? As in, the surgery happens but the parts wont be applied on the body (but used up).

Ive looked trough the mods at the starting page and removed evolved organs, but that didnt fix it so far.

thats called failed  surgery?

Link to comment
10 hours ago, crow_mw said:


Thank you for taking time to look into it. I have experimented a bit with you build on my current save. The results are unfortunately a bit inconclusive. Setup - this is a third year colony, 9 colonists and some animals. Slightly less than 200 mods.

On the current game state, the performance from before your build looks as follows:

  Reveal hidden contents

 

3 ms avg time/update, fairly irregular.

With your build it initially looks as one would expect:

  Reveal hidden contents


Initial warm up, which leads to higher avg times, but eventually dropping. Unfortunately, soon the game starts throwing exceptions and as those are heavy, the performance dwindles.

  Reveal hidden contents


We are back to 3.2 ms / update average, but caused by large spikes.

This is the log with exceptions (and modlist for reference): https://gist.github.com/HugsLibRecordKeeper/9f7415f004ae2fc7361b235f7ec1ea96 


The exceptions in question:

 
  Reveal hidden contents

 


This leads to obvious suspicion, that the issues I'm experimenting are related to conflict with VE - Memes. Now we enter the realm of removing mods from running save, so the results can be not very representative. However, after removal of VE -Memes some exceptions still occur but apparently less often, resulting in lower average times (1.5 ms).

 

  Reveal hidden contents

 

An exception example w/o VE - Memes:

  Reveal hidden contents


Some other mods are still present in a stacktrace, but bearing in mind we have just modified the Building_Bed_Patch, this is the most suspicious culprit.

For comparison the same screen from the save, if I remove whole RJW>

 

  Reveal hidden contents

 

Obviously, comparing the TPS after removing entire RJW is not fair, but the game offers at least 40 TPS more now. Note also, that really heavy stuff, like drawing colonist bars with moods and needs or the Interaction Bubbles are in 0.2 ms/tick averages territory.

 

Please note, that even if the method gets below 1 ms average, lets say 0.9 ms average, it is still too much. In order to run 360 TPS (3x speed), each update must be executed within 2.77 ms. A simple patch consuming 1/3rd of this limit on an early game colony, likely indicates, that it will be impossible to get to 3x or even 2x speed later on (especially if time scales with amount of beds). 0.1 ms like in your testing is much more bearable, but as you have stated in your previous post, it would be enough if the recalculation happened ... almost never.

I wonder how often is the patch called in your setup. In the screenshots above, it hovers around 0.2 calls / update on average. This is likely per-bed and there are 24 beds in my colony. This is on average one call per bed per 100 updates - if we were running on normal speed (60 ticks / second), each bed gets recalculated every 1.6 seconds.  EDIT: each call to this patch is an iteration over all beds in colony. So if we are running at normal speed (60 ticks / sec), we recalculate this value for all beds in colony ~12 times per second.

Thank you one more time for taking time to improve the performance. TL;DR: is that it is hard to evaluate how much this patch helped, as it causes game to throw exceptions and with exceptions the performance is still suffering.
 

 


 

well no idea, ive made 25 rooms with 25 beds, and with 20 pawns, and latency nowhere near what you post, it maxed or 0.9 and averaged at 0.04ms

i still think its one of your mods that does it

or maybe its weak cpu?

Link to comment
10 hours ago, crow_mw said:

I have found my old PR when I was looking at this problem several months ago. https://gitgud.io/Ed86/rjw/-/merge_requests/174

 

I was arguing there, that the whole Room_UpdateRoomStatsAndRole_Patch is only needed to update the room stats during the pause. Outside of a pause the value is eventually updated in CalculatePriceFactor() itself (this is also what was stated in comments for Room_UpdateRoomStatsAndRole_Patch() and CalculatePriceFactor() - the whole 'force' flag). So the patch was to 'force' recalculations only during a pause (where performance is not important). But since that is a bit hacky, the PR was eventually retracted. I do not know if this still holds for current version of code, but perhaps this is an angle from which this could be approached?

(also reviewing that patch now I see that each Room_UpdateRoomStatsAndRole_Patch() is an iteration over all beds in colony...)

i dont understand what that commit supposed to fix, it completely breaks calculations, you basically forbid calculations to ever trigger, so price will never change

 

(if it is, may i suggest that you start building walls, doors and rooms, so that it will only iterate through beds in changed room and not whole map)

Edited by Ed86
Link to comment
3 hours ago, Solzucht said:

So you suspect that if i spawn in 25 genitals (all of the same type) they constantly fail the surgery with medics lvl 10+?

And this only happening with rjw-bodyparts?

 

Id say thats highly unlikeley.

not a bug its RW logic that any and all operawtions even if did by god himself have chance to fail.

Link to comment
11 hours ago, Ed86 said:

well no idea, ive made 25 rooms with 25 beds, and with 20 pawns, and latency nowhere near what you post, it maxed or 0.9 and averaged at 0.04ms

i still think its one of your mods that does it

or maybe its weak cpu?

Follow through analysis probably.

Odds are other mod doing something before you stacking up but since you are last it displays as you.

Link to comment

Downloaded the latest version and now the only interactions they seem to be having are "fellated myself" "hand jobbed myself" and "breeded vaginally" even though they are both males and have no vaginas. Additionally there's a heartbreak icon in the log when they "mount" their lover and "Breed Vaginally". Anyone know what's causing this? It's like they're animals and don't take into account anatomy or species. 

Link to comment
1 hour ago, johnnystat said:

Скачал последнюю версию, и теперь единственные взаимодействия, которые они, кажется, имеют, это «отсосал сам», «трахнул себя руками» и «вагинально спарился», хотя они оба мужчины и не имеют вагин. Кроме того, в журнале есть значок разбитого сердца, когда они «садятся» на своего любовника и «размножаются вагинально». Кто-нибудь знает, что вызывает это? Как будто они животные и не принимают во внимание анатомию или вид. 

Same problem
Link to comment
On 1/30/2022 at 11:39 PM, nugerumon said:

It should only update all beds in the room that is updated. Do you have all beds in a large room that often changes?

I still have no idea what kind of setup leads to such high execution times.


I spent some time today trying to narrow it down, but without much success. At the end of the day, it may have to stay as 'unknown conflict'. I don't think there is anything crazy about my base setup:

https://ibb.co/qrMHWQ4

 

I thought that I have hit the bingo, when I found out that the damn thing gets called also for Animal Sleeping Spots.

 

Spoiler

Logging.png.c6935697f35726b319af86556a71d31e.png

AnimalBeds.png.49128fd235beac5ce8f83518c2938361.png

 

This is surely something that could be improved, though getting rid of them didn't change the times as much as I have hoped.

 

On 1/30/2022 at 11:39 PM, nugerumon said:

PS: could you have a look at this tab? Both with and without RJW loaded, please.

 

I have only looked with RJW enabled, but the results are low to unmeasurably low

 

Spoiler

Room-stats1.png.f235a96fd581fe7e513894df7f061ba6.png

Room-stats2.png.c9a29ac062a8658f7d59a17c775dc24b.png

 

On 1/30/2022 at 11:39 PM, nugerumon said:

Try now.

 

With this build, the results match what one could expect from your description. A single call to the method is still super expensive - 6-10ms (AvgTime/Call in bottom left corner). However, when the method itself is not called often, this results in much better averages (first screenshot is having 0.04 AvgCalls / update). However, sometimes it goes high-wire and still back to large overall performance impact (screenshots 2 and 3). Note, I'm not doing anything special here, just pawns going around their daily business. 

 

Spoiler

New-1.png.d34bb921160514b9b05a434d3bfa3ae0.png

Spoiler

New-2.png.144cb3019dccb34384fc6744ae080def.png

New-3.png.38c3edbc13c99200983ad64b021c518d.png

 

Also profiling internal of this method doesn't offer (at least me) much insights

 

Spoiler

Internal-2.png.b169420e22dbb428d1f8769ac8fb1084.png



 

 

15 hours ago, Ed86 said:

i dont understand what that commit supposed to fix, it completely breaks calculations, you basically forbid calculations to ever trigger, so price will never change

I fully admit this is a dirty fix, but it does not forbid calculations. It only prevents the forced recalculation in Room_UpdateRoomStatsAndRole_Patch(). Please note, that CalculatePriceFactor() is still called, where it is needed - when printing inspect string ( Building_Bed_GetInspectString_Patch() ), when printing overlay ( Building_Bed_DrawGUIOverlay_Patch(), note I play with overlay disabled), when the number is needed for actual calculation ( Toil afterSex )  and when customer is choosing a bed ( CalculateBedScore() ) 

Now, CalculatePriceFactor() has internal caching of the result. However, the internal cache is refreshed every scoreUpdateTickDelay = 60  (plus 0-9)  ticks, so once per second on normal speed. 1 second delay in recalculation of bed value is nothing, and surely getting rid of it is not worth the trouble UpdateRoomStatsAndRole_Patch() is generating (at least in my setup).

 

Since the internal cache refresh is based on game ticks, it will never trigger when game is paused. And hence the conclusion from my side - UpdateRoomStatsAndRole_Patch() is only needed when game is paused, to force refresh of internal cache.

 

 

New-1.png

Link to comment

Would it be possible to implement a way to edit the quickieAllowedJobs array from within the RJW settings? My colonists generally won't initiate quickies with each other because mostly all mod added jobs are classified as 'important' since they aren't in the array. This can be a significant amount of them when you run higher mod counts.

Link to comment
17 hours ago, sidfu1 said:

not a bug its RW logic that any and all operawtions even if did by god himself have chance to fail.

Maybe i am not clear enough. I still dont think its rjw's fault, or rather its a mod incombatibility.

Yes, a surgery can fail.

But your telling me that it is normal in rjw that surgeries fail 25 times after another with a relativly good doctor even thou i know its not since it wasnt like that in the past?

Then let me start the game again, brandnew colony with 50 Parts to operate with the same surgery and a doctor lvl 20, infact all stats lvl 20...

Same result.

So, just for a moment, lets imagine i didnt play rimworld and used rjw for the first time.

Are there known incombatibilities with rjw which would cause this behaviour? Other Bodypart mods work fine.

Link to comment
12 hours ago, johnnystat said:

Downloaded the latest version and now the only interactions they seem to be having are "fellated myself" "hand jobbed myself" and "breeded vaginally" even though they are both males and have no vaginas. Additionally there's a heartbreak icon in the log when they "mount" their lover and "Breed Vaginally". Anyone know what's causing this? It's like they're animals and don't take into account anatomy or species. 

well its broken i guess

Link to comment
3 hours ago, Solzucht said:

Maybe i am not clear enough. I still dont think its rjw's fault, or rather its a mod incombatibility.

Yes, a surgery can fail.

But your telling me that it is normal in rjw that surgeries fail 25 times after another with a relativly good doctor even thou i know its not since it wasnt like that in the past?

Then let me start the game again, brandnew colony with 50 Parts to operate with the same surgery and a doctor lvl 20, infact all stats lvl 20...

Same result.

So, just for a moment, lets imagine i didnt play rimworld and used rjw for the first time.

Are there known incombatibilities with rjw which would cause this behaviour? Other Bodypart mods work fine.

doctor skill doesnt matter much as long as it meets min skill requirement, biggest impact is room - bed, cleanliness and light

....or it can be mod conflict

Link to comment

Heya, I'm having problems with the mod "Vanilla Storytellers Expanded - Winston Waves"; when it spawns a insectoid raid, my game freezes up and the dev log reads that there are problems assigning gender to the genderless entity megalocust. Has anyone had a similar issue? I'm slowly disabling likely mods to isolate the problem, but would greatly appreciate any advice or tips.

Link to comment
4 hours ago, somekindofsuperstar said:

in future updates, could you add an option in the mod options to turn off those conversation prompts like stds, sex positions and whatever more? i find it to be retarded

(also, i don't know if it already exists or not, but could there be some sort of dev log so that people can see what has changed in the most recent updates?)

Delete everything in 1.3/Languages/English/Strings/Words/Nouns/TalkTopics_Sexual.txt

 

On 11/2/2018 at 12:07 AM, Skömer said:

 

Link to comment
5 hours ago, somekindofsuperstar said:

in future updates, could you add an option in the mod options to turn off those conversation prompts like stds, sex positions and whatever more? i find it to be retarded

(also, i don't know if it already exists or not, but could there be some sort of dev log so that people can see what has changed in the most recent updates?)

no

 

also  this https://gitgud.io/Ed86/rjw/-/commits/master

 

and here you can get w/e version you want https://gitgud.io/Ed86/rjw/-/tags

Link to comment

I hope this hasn't been asked before, I couldn't find it in the settings or FAQ, but I have a few questions:

 

- does prostitution always give the "resentful whore" debuff? Is there a way to have those pawns just doing the job? If it's not an option, is it safe to turn it off with Cherry Picker?

- does a "sex change" always give a debuff? Is there any way to have pawns want a gender reassignment?

- any way to turn off rape in active combat situations?

 

Thanks!

Link to comment
15 minutes ago, Devilfish666 said:

I hope this hasn't been asked before, I couldn't find it in the settings or FAQ, but I have a few questions:

 

- does prostitution always give the "resentful whore" debuff? Is there a way to have those pawns just doing the job? If it's not an option, is it safe to turn it off with Cherry Picker?

- does a "sex change" always give a debuff? Is there any way to have pawns want a gender reassignment?

- any way to turn off rape in active combat situations?

 

Thanks!

no, it depends on pawn whoring exp, and their backstory

yes, younger have less/faster debuff

no

Link to comment
4 minutes ago, Rimworld Traveller said:

Other than OTYsymbols and Dirty Talk erroring (likely needs to be updated if there is one) and rimnude alien part errors from missing race support, I can't see anything in the log that would explain the behavior sadly. It wouldnt surprise me that the performance mod could be at fault but I have no clue.

Link to comment

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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use