Solzucht Posted January 31, 2022 Share Posted January 31, 2022 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
Ed86 Posted January 31, 2022 Share Posted January 31, 2022 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
Ed86 Posted January 31, 2022 Share Posted January 31, 2022 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 System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.First[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00010] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at (wrapper dynamic-method) rjw.Building_Bed_Patch+Room_UpdateRoomStatsAndRole_Patch.rjw.Building_Bed_Patch+Room_UpdateRoomStatsAndRole_Patch.Postfix_Patch0(Verse.Room) at (wrapper dynamic-method) Verse.Room.Verse.Room.UpdateRoomStatsAndRole_Patch1(Verse.Room) at Verse.Room.get_Role () [0x00008] in <f2d2a994b972449b95534f171b6e3647>:0 at VanillaMemesExpanded.MapComponent_RoomsInMap.MapComponentTick () [0x00145] in <6b81da8626af45e299bfca57e3a48b6c>:0 at (wrapper dynamic-method) Verse.MapComponentUtility.Verse.MapComponentUtility.MapComponentTick_Patch0(Verse.Map) (Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39) 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 Exception in Verse.AI.JobDriver.TryActuallyStartNextToil: System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.First[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00010] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at rjw.Building_Bed_Patch+Room_UpdateRoomStatsAndRole_Patch.Postfix (Verse.Room __instance) [0x0007c] in <f7f6b19391a244bb9e44642866b35ce0>:0 - transpiler Dubwise.DubsProfiler: IEnumerable`1 Analyzer.Profiling.MethodTransplanting:Transpiler(MethodBase __originalMethod, IEnumerable`1 instructions, ILGenerator ilGen) at Verse.Room.UpdateRoomStatsAndRole () [0x000e7] in <f2d2a994b972449b95534f171b6e3647>:0 - postfix rjw: Void rjw.Building_Bed_Patch+Room_UpdateRoomStatsAndRole_Patch:Postfix(Room __instance) at Verse.Room.GetStat (Verse.RoomStatDef roomStat) [0x00008] in <f2d2a994b972449b95534f171b6e3647>:0 at Verse.GenRecipe+<MakeRecipeProducts>d__0.MoveNext () [0x001dd] in <f2d2a994b972449b95534f171b6e3647>:0 - transpiler net.avilmask.rimworld.mod.CommonSense: IEnumerable`1 CommonSense.RandomIngredients+GenRecipe_MakeRecipeProducts_CommonSensePatch:CleanIngList(IEnumerable`1 instrs) - transpiler PerformanceOptimizer.Main: IEnumerable`1 PerformanceOptimizer.Optimization_FasterGetCompReplacement:Transpiler(IEnumerable`1 instructions, MethodBase method) at System.Collections.Generic.List`1[T]..ctor (System.Collections.Generic.IEnumerable`1[T] collection) [0x00077] in <eae584ce26bc40229c1b1aa476bfa589>:0 at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00018] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 at Verse.AI.Toils_Recipe+<>c__DisplayClass3_0.<FinishRecipeAndStartStoringProduct>b__0 () [0x000ad] in <f2d2a994b972449b95534f171b6e3647>:0 at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x0023a] in <f2d2a994b972449b95534f171b6e3647>:0 - transpiler net.pardeike.rimworld.lib.harmony: IEnumerable`1 VisualExceptions.ExceptionsAndActivatorHandler:Transpiler(IEnumerable`1 instructions, MethodBase original) 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
Ed86 Posted January 31, 2022 Share Posted January 31, 2022 (edited) 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 January 31, 2022 by Ed86 Link to comment
Solzucht Posted January 31, 2022 Share Posted January 31, 2022 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. Link to comment
sidfu1 Posted January 31, 2022 Share Posted January 31, 2022 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
NeverLucky4Life Posted January 31, 2022 Share Posted January 31, 2022 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
johnnystat Posted January 31, 2022 Share Posted January 31, 2022 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
Lyde123 Posted January 31, 2022 Share Posted January 31, 2022 1 hour ago, johnnystat said: Скачал последнюю версию, и теперь единственные взаимодействия, которые они, кажется, имеют, это «отсосал сам», «трахнул себя руками» и «вагинально спарился», хотя они оба мужчины и не имеют вагин. Кроме того, в журнале есть значок разбитого сердца, когда они «садятся» на своего любовника и «размножаются вагинально». Кто-нибудь знает, что вызывает это? Как будто они животные и не принимают во внимание анатомию или вид. Same problem Link to comment
crow_mw Posted February 1, 2022 Share Posted February 1, 2022 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 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 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 Spoiler Also profiling internal of this method doesn't offer (at least me) much insights Spoiler 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. 1 Link to comment
Hebiko Posted February 1, 2022 Share Posted February 1, 2022 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
Solzucht Posted February 1, 2022 Share Posted February 1, 2022 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
Ed86 Posted February 1, 2022 Share Posted February 1, 2022 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
Lyde123 Posted February 1, 2022 Share Posted February 1, 2022 1 minute ago, Ed86 said: ну он сломался я думаю and what to do? download again? Link to comment
Ed86 Posted February 1, 2022 Share Posted February 1, 2022 38 minutes ago, Lyde123 said: and what to do? download again? use 4.9.4.5 Link to comment
Ed86 Posted February 1, 2022 Share Posted February 1, 2022 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
Toxicthrottle Posted February 1, 2022 Share Posted February 1, 2022 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
somekindofsuperstar Posted February 2, 2022 Share Posted February 2, 2022 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?) Link to comment
Skömer Posted February 2, 2022 Author Share Posted February 2, 2022 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: Changelog: https://gitgud.io/Ed86/rjw/-/blob/master/changelog.txt 1 Link to comment
Ed86 Posted February 2, 2022 Share Posted February 2, 2022 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
40kg-mouse Posted February 2, 2022 Share Posted February 2, 2022 happy new year! Chinese Simplified and Traditional for RJW-4.9.4.5 ChineseSimplified.zip ChineseTraditional.zip 1 Link to comment
Devilfish666 Posted February 2, 2022 Share Posted February 2, 2022 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
Ed86 Posted February 2, 2022 Share Posted February 2, 2022 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 1 Link to comment
Rimworld Traveller Posted February 3, 2022 Share Posted February 3, 2022 I'm having a problem where the 'feeling broken-in a trance' status never goes away, even after nearly a year without being assaulted. My first attempt at a huglog: Spoiler https://gist.github.com/a8c265e767235b4660b3cda72a36ec4a Link to comment
Tory187 Posted February 3, 2022 Share Posted February 3, 2022 4 minutes ago, Rimworld Traveller said: https://gist.github.com/a8c265e767235b4660b3cda72a36ec4a 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. 1 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now