RimWorld

RimWorld

[多线程优化]Multi-Threading Pawns
凌&星  [developer] Aug 17 @ 1:43am
bug反馈
在这里请使用中文并提供日志,反馈bug
< >
Showing 1-15 of 19 comments
好哥哥这个mod会让囚犯的需求条只减不加,不会去吃饭去睡觉,喝水洗澡半天需求条一点不涨
凌&星  [developer] Aug 17 @ 8:10am 
哦这个问题,我已经知道了,等我修复一下
Last edited by 凌&星; Aug 17 @ 8:30am
似乎会导致小人不会按照用药方案里允许满足已经成瘾来服药。不确定是否是这个mod导致的
凌&星  [developer] Aug 19 @ 7:50am 
好的收到了,我会检查的
加了以后2个档,前30小时没出现问题,然后突然昨晚死循环爆红,d指导说是realruins里面地图的火焰蔓延计算和燃烧触发在多线程出问题了。另外好像并非只是realruins有这大红,后面定居点也开始循环爆红了System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
[Ref 6C97AB70] Duplicate stacktrace, see ref for original
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch4(System.String)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Map.MapPostTick_Patch2(Verse.Map)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickManager.DoSingleTick_Patch9(Verse.TickManager)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickManager.TickManagerUpdate_Patch1(Verse.TickManager)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Game.UpdatePlay_Patch3(Verse.Game)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Root_Play.Update_Patch2(Verse.Root_Play)
凌&星  [developer] Aug 19 @ 8:16pm 
okok收到了,等我检查和修复
凌&星  [developer] Aug 19 @ 9:46pm 
Originally posted by 咕咕鸡:
加了以后2个档,前30小时没出现问题,然后突然昨晚死循环爆红,d指导说是realruins里面地图的火焰蔓延计算和燃烧触发在多线程出问题了。另外好像并非只是realruins有这大红,后面定居点也开始循环爆红了System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
[Ref 6C97AB70] Duplicate stacktrace, see ref for original
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.UnityEngine.StackTraceUtility.ExtractStackTrace_Patch1()
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Log.Error_Patch4(System.String)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Map.MapPostTick_Patch2(Verse.Map)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickManager.DoSingleTick_Patch9(Verse.TickManager)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.TickManager.TickManagerUpdate_Patch1(Verse.TickManager)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Game.UpdatePlay_Patch3(Verse.Game)
[Harmony, 0Harmony.dll] MonoMod.Utils.DynamicMethodDefinition.Verse.Root_Play.Update_Patch2(Verse.Root_Play)
此问题,已经着手修复了,我顺带进行了优化
大佬,我这一进存档就无限刷红字
System.TypeInitializationException: The type initializer for 'MultiThreadingPawns.DevOverlay' threw an exception. ---> System.MissingMethodException: void Verse.LongEventHandler.QueueLongEvent(System.Action,string,bool,System.Action`1<System.Exception>,bool,bool,System.Action)
--- End of inner exception stack trace ---
[Ref E2990967] Duplicate stacktrace, see ref for original
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.GameComponentUtility.GameComponentOnGUI_Patch0 ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.UIRoot.UIRootOnGUI_Patch1 (Verse.UIRoot)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:RimWorld.UIRoot_Play.UIRootOnGUI_Patch3 (RimWorld.UIRoot_Play)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.OnGUI_Patch2 (Verse.Root)
凌&星  [developer] Aug 20 @ 5:27am 
ok我收到了
咨询一下,游戏中不管设置调高或调低,指示器都是0这是正常情况吗?日志里面打印的记录也一样都是0
Queue: 0 (C:0/N:0/L:0), Processed: 0, Errors: 0, DedupDropped: 0
顺便,新加的火焰相关选项UI有错位
凌&星  [developer] Aug 20 @ 5:58am 
好的,我没改
提交一个BUG:开启火焰并行计算时,通过主菜单快速测试开启游戏后,通过一些游戏行为引发地图上有火焰燃烧时,回到主菜单开一个新的快速测试,在上一次测试地图中着火的坐标,这次测试地图中的差不多坐标位置的不可选中的植物(例如蒲公英或者草)会残留燃烧状态
凌&星  [developer] Aug 20 @ 6:27am 
ok
叆叇 Aug 20 @ 10:35am 
我在1.5加了这个mod,但是刚进地图就一直循环爆红
System.TypeInitializationException: The type initializer for 'MultiThreadingPawns.DevOverlay' threw an exception. ---> System.MissingMethodException: void Verse.LongEventHandler.QueueLongEvent(System.Action,string,bool,System.Action`1<System.Exception>,bool,bool,System.Action)
--- End of inner exception stack trace ---
[Ref D64F6477] Duplicate stacktrace, see ref for original
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch4 (string)
Verse.GameComponentUtility:GameComponentOnGUI ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.UIRoot.UIRootOnGUI_Patch2 (Verse.UIRoot)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:RimWorld.UIRoot_Play.UIRootOnGUI_Patch2 (RimWorld.UIRoot_Play)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Root.OnGUI_Patch1 (Verse.Root)

DS是这样说的这个问题是代码层面的不兼容,无法通过调整加载顺序或修复存档来解决。
Last edited by 叆叇; Aug 20 @ 10:36am
凌&星  [developer] Aug 20 @ 6:20pm 
OK
< >
Showing 1-15 of 19 comments
Per page: 1530 50