Feedback: Unstable testing of minor update 1.0.2271

Started by Kenneth, May 17, 2019, 06:35:11 AM

Previous topic - Next topic

Kenneth

On the unstable beta branch, you'll find version 1.0.2271. This version is almost the same as the previous version, with the following changes:
- A potential fix for a bug that can cause very slow loading of mods and/or opening the mods list window in some cases.
- Updated language data to latest version.
- Updated player-created names with all approved content.

Mostly we're looking to test the first of the above. It would be awesome if any player who had trouble with slow loading of mods or the mods list in the main menu (anything over a minute or two) would give the unstable branch a try and let us know if anything changes.

Please give us feedback on this unstable update, did anything change for any of you? Does the game load slower or faster and could anyone reproduce the issue with the mods list and is it gone now?

UPDATE:
Please let us know about any mod incompatibility you encounter, we have recently pushed a second patch with more loadtime improvements, that apparently is causing issues with some mods.
If you encounter an issue with a mod, please post the logfile (see this thread on how to get your logfile: https://ludeon.com/forums/index.php?topic=513.0) along with your mod list and / or the mod you think is the cause of the error.

hauvega

#1
I do notice a significant difference going from the main menu into the mod list.  On stable it took like 17 secs. down to approx 2 secs. on unstable.  I still have a longer load times with my stand alone ver 2150 vs steam with the same mod list.  The only to compare the stand alone is to have a stand alone ver of the 2277 to test with.

Work on mod
Break mod
Fix Mod
Break mod again

Ziehn

No changes on my end, still getting a hour long load time. With the Multiplayer mod however I'm able to reduce this to 8 mins (without this update). One bug I've noticed so far, missing textures for mod Previews.

KawwaK

It took about the same time for me. I just got some error messages, probably about version number.
Thanks for trying anyway! Keep on the great work!

penemue

I don't have a lot of mods but the loading time is still noticeably shorter so I'd say great job on that.
Only issue I noticed is that mods are missing their icon/images.

Prismaa

I have the game on SSD before the unstable my startup time was around 9 to 10mins, now its around 1 to 2mins. 160mods

Spydermonkey1977

Great improvement on startup time! I have ~260 mods installed, it normally takes ~15-20 min to load up. With the unstable test it dropped down to about a 7 min startup. I noticed that the error log popped up once getting to the main menu, where I wasn't getting any red errors before. (That might not be 100% accurate though, I will need to load the game up under the current version and verify if no errors occur.) There were only two though, and I think they might have been texture related. For now I plan to play for awhile :) but once I confirm if I get errors on the current stable version or not I'll post it. Very noticeable improvement. Thanks!

ozzymandias

I've also noticed a drastic reduction in loading times. I've gone from almost two hours loading time with 300-400 mods to less than an hour. I am very grateful for this update, it has helped a lot.

butanefireflies

Great work. Running on Mac ssd with 280 mods, startup time is down from 40 min to 5 min. However, both my savegames and world gen are broken - certainly a mod conflict but worth noting. Thanks for your efforts!

BlueTressym

#9
Just offering some feedback.  I'm not sure on loading times ATM (I got distracted - don't ask!) but will try again and report on that.  I HAVE noticed an error popping up that seems to be related to Fluffy's Mod Manager. 

Quote[ModCheck] Internal failure patching Verse.LoadedModManager.ApplyPatches
Verse.Log:Error(String, Boolean)
ModCheck.<Transpiler>d__2:MoveNext()
System.Linq.<CreateCastIterator>c__Iterator0`1:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
Harmony.<ConvertToOurInstructions>d__7:MoveNext()
System.Linq.<CreateCastIterator>c__Iterator0`1:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
Harmony.CodeTranspiler:GetResult(ILGenerator, MethodBase)
Harmony.ILCopying.MethodBodyReader:FinalizeILCodes(List`1, List`1, List`1)
Harmony.ILCopying.MethodCopier:Finalize(List`1, List`1)
Harmony.MethodPatcher:CreatePatchedMethod(MethodBase, String, List`1, List`1, List`1)
Harmony.PatchFunctions:UpdateWrapper(MethodBase, PatchInfo, String)
Harmony.PatchProcessor:Patch()
Harmony.HarmonyInstance:<PatchAll>b__9_0(Type)
Harmony.CollectionExtensions:Do(IEnumerable`1, Action`1)
Harmony.HarmonyInstance:PatchAll(Assembly)
ModCheck.HarmonyStarter:.ctor(ModContentPack)
System.Reflection.MonoCMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoCMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MonoCMethod:Invoke(BindingFlags, Binder, Object[], CultureInfo)
System.Activator:CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])
System.Activator:CreateInstance(Type, Object[], Object[])
System.Activator:CreateInstance(Type, Object[])
Verse.LoadedModManager:CreateModClasses()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()


The only other mod I have related to the way mods are loaded is RIMMSLoadUp.  Oh, I just got the following when I tried to get the logs: 

Quote[HugsLib][ERR] Exception while drawing log window widget: System.NullReferenceException: Object reference not set to an instance of an object
  at HugsLib.Logs.LogPublisher.UpdateCustomOptionsUsage () [0x00000] in <filename unknown>:0
  at HugsLib.Logs.LogPublisher.ShowPublishPrompt () [0x00000] in <filename unknown>:0
  at HugsLib.Logs.LogWindowExtensions+<>c.<AddOwnWidgets>b__15_0 (Verse.Window window, Rect area, Verse.LogMessage message, Verse.WidgetRow row) [0x00000] in <filename unknown>:0
  at HugsLib.Logs.LogWindowExtensions.DrawLogWindowExtensions (Verse.Window window, Rect inRect) [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
HugsLib.Utils.ModLogger:Error(String, Object[])
HugsLib.Logs.LogWindowExtensions:DrawLogWindowExtensions(Window, Rect)
HugsLib.Patches.EditWindow_Log_Patch:ExtraLogWindowButtons(Window, Rect&)
Verse.EditWindow_Log:DoMessagesListing_Patch1(Object, Rect)
Verse.EditWindow_Log:DoWindowContents(Rect)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)

UPDATE:  Just checked and my load time has halved, from about half an hour to fourteen minutes.  That's with around 300-ish mods, for perspective.  If we can get it to play nicely with Mod Manager, I will be a very happy kitty :)

Canute

BlueTressym,
does you have any different results when you remove RIMMSLoadUp?

Kladdey

Down to one minute from around 8, 180 mods. It's magic!

Ser Kitteh

#12
58 mods installed.

Loading in stable release: 1:51 minutes.
Loading in unstable release: 54 seconds.

Loading game: 55 seconds.
Loading game: 18 seconds.

So roughly a minute's worth of loading cut!

BlueTressym

#13
@Canute I've just checked.  Loading time was about the same without RIMMSLoadUp.  Still getting this error: 

Quote[ModCheck] Internal failure patching Verse.LoadedModManager.ApplyPatches
Verse.Log:Error(String, Boolean)
ModCheck.<Transpiler>d__2:MoveNext()
System.Linq.<CreateCastIterator>c__Iterator0`1:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
Harmony.<ConvertToOurInstructions>d__7:MoveNext()
System.Linq.<CreateCastIterator>c__Iterator0`1:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
Harmony.CodeTranspiler:GetResult(ILGenerator, MethodBase)
Harmony.ILCopying.MethodBodyReader:FinalizeILCodes(List`1, List`1, List`1)
Harmony.ILCopying.MethodCopier:Finalize(List`1, List`1)
Harmony.MethodPatcher:CreatePatchedMethod(MethodBase, String, List`1, List`1, List`1)
Harmony.PatchFunctions:UpdateWrapper(MethodBase, PatchInfo, String)
Harmony.PatchProcessor:Patch()
Harmony.HarmonyInstance:<PatchAll>b__9_0(Type)
Harmony.CollectionExtensions:Do(IEnumerable`1, Action`1)
Harmony.HarmonyInstance:PatchAll(Assembly)
ModCheck.HarmonyStarter:.ctor(ModContentPack)
System.Reflection.MonoCMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoCMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MonoCMethod:Invoke(BindingFlags, Binder, Object[], CultureInfo)
System.Activator:CreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])
System.Activator:CreateInstance(Type, Object[], Object[])
System.Activator:CreateInstance(Type, Object[])
Verse.LoadedModManager:CreateModClasses()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

The Log is working now though :)

https://gist.github.com/a7e432fa122eefbbc06f788353a9dcf7

homemdosgalos

Yep, i notice some changes as well, around 40% shorter loading time.
(I'm using around 50 mods).