Jump to content

[1.8.x-1.12.x] Module Manager 4.2.3 (July 03th 2023) - Fireworks season


sarbian

Recommended Posts

I have a question about the way that module manager works:

 

 I am pretty obsessive about cleaning out my extraneous parts, but I am more and more frequently coming across parts with texture dependencies or some other unforseen dependence that screws with some other aspect of my game.

 

I am well aware that removing the entry with module manager will remove the part from the list.

 

However, it also seems that, given all the passes that the manager makes, and how the log output looks, it would also appear that, if something is removed with module manager, it is essentially as if it does not exist in the folder or in the part.cfg.

 

Does this also prevent the textures from loading?  Im aware that the texture files will still be there, but for textures that are only referenced by the cfg in the folder, will the texture still consume RAM, or would I be better off simply deleting the folder as I have been doing?

Edited by xx_mortekai_xx
Link to comment
Share on other sites

12 hours ago, blowfish said:

It turns out MM tells you in the log.  The more you know


[ModuleManager] Changes :
Added   : KSEA/Historian/Plugins/Historian.cfg
Deleted : KSEA/Historian/Historian.cfg

Looking at CKAN's metadata, that's the mod "Historian"

Just a quick note that Historian has now been updated to persist config settings to the main save file rather than a .cfg. On first run it will delete the old Historian.cfg if present then should not affect Module Manager cache on subsequent loads.

Link to comment
Share on other sites

47 minutes ago, xx_mortekai_xx said:

Does this also prevent the textures from loading?  Im aware that the texture files will still be there, but for textures that are only referenced by the cfg in the folder, will the texture still consume RAM, or would I be better off simply deleting the folder as I have been doing?

 

I'm pretty sure the textures and models will still load into memory. The asset-loading happens before MM applies the patches, and also well before the part compiler. It's a "load first, configure later" sort of thing.

 

Link to comment
Share on other sites

 

Just now, NecroBones said:

 

I'm pretty sure the textures and models will still load into memory. The asset-loading happens before MM applies the patches, and also well before the part compiler. It's a "load first, configure later" sort of thing.

 

 

 

Dammit.  

 

Thanks.

Link to comment
Share on other sites

ok so i have this stupid BEFORE FOR AFTER thing again when updating ksp and all mods... it takes like 5 mins to load BEFORE FOR and AFTER for each and every mod.... and i have like 75 mods... but it is fine with just a couple mods... could you help pinpoint which mod is causing this? thanks

 

 

 

output.log:  https://mega.nz/#!EwBCBJxR!9cCVaJQs1ob8h2ylXbaC58h-Y-a7p5Tf8u6HFikOQ6g

Link to comment
Share on other sites

3 hours ago, Thorman said:

ok so i have this stupid BEFORE FOR AFTER thing again when updating ksp and all mods... it takes like 5 mins to load BEFORE FOR and AFTER for each and every mod.... and i have like 75 mods... but it is fine with just a couple mods... could you help pinpoint which mod is causing this? thanks

I looked at your KSP.log.  I think your issues have nothing to do with Module Manager, so my comments are in a spoiler.

Spoiler

You are running KSP 32-bit under Windows 10 64-bit but with 4GB of RAM.  Even if you switch to KSP 64-bit, with 4GB of RAM, you are likely running way too many mods unless you take measures to keep the KSP process's memory footprint well under 3GB.  I did it under KSP 1.0.4 but that's on WIndows 8.1 and very few parts mods. I don't even know if it's possible under Windows 10 with that OS's likely bigger memory footprint making thrashing (see next paragraph) happen sooner.

I think things are going so slow because you are hitting physical memory usage limits by all running processes.  So what happens then is blocks from the memory of the KSP process are being swapped out to disk, which means when those blocks are needed again (likely within milliseconds if not sooner during program startup) other memory blocks have to be swapped out first, then the KSP blocks swapped in....  Memory access speeds are slowing down to disk access speeds.  Classical computer thrashing.

You've got a stonking large number of mods.  It's likely from what others have said checking over your previous logs that your install is at least massively crufty (multiple MM .dll's, outdated mods, likely also old files from old mod versions that should have been cleaned out, corrupt files, etc.).

This is going to take work to fix so that you don't run into it again.  Hardware changes may help, but to be sure you're going to have to check these things first. I would strongly suggest NOT to try to just add RAM without doing what I advise here, as you will be out funds but the RAM may not fix things just by itself.

Here's how you can check this as well as likely fix it.  Going to take reinstalling KSP and mods from scratch to keep memory usage low.  Save out your games for later.

Reinstall KSP (and make a backup somewhere to make that easier).  Put in just 1 copy of the latest Module Manager and @sarbian's GC Monitor mod.  Run KSP to make sure it works.  Play with GC Monitor to see how it reports memory.

Use "--force-opengl" to reduce KSP's memory usage.

Download the latest versions of your mods.  Only use mod versions written for or tested under KSP 1.1.2.

Install the mods in batches of about 10.  Make sure you know what you're copying in; each mod should only be one (sometimes two) new directory under GameData.  Don't bother putting in extra copies of Module Manager.

After each batch, start KSP.  Start a new test career.  Make and fly a rocket or 3.  Watch what GC Monitor is reporting.  If you're hitting close to or over 3GB, it's too much without fewer mods or a hardware change.  If the slowdown happens but KSP is well under 3GB and no other program is hogging a lot of resources, you have a problem in the last block of mods added.  Find out which one by divide and conquer.

If you get all your mods reinstalled and can still run KSP with well under 3GC and without the slowdown happening again, you've fixed it.

If the slowdown doesn't happen but KSP is getting close to or over 3GB, you have too many mods for the hardware of your computer.  Either reduce the number of mods or if possible (both by your computer's limits and your finances), add RAM to your computer and switch to running KSP 64-bit.

 

Edited by Jacke
Link to comment
Share on other sites

On 5/8/2016 at 2:31 PM, Sigma88 said:

you had a couple of errors in there, fixed them for you

I also made it so the resource gets overwritten in case it already exist (since he asked specifically for 15/crew)

:wink:

Would this patch work with 1.0.5? I'm not getting any supplies in any parts with crew capacity. 

Link to comment
Share on other sites

31 minutes ago, Whovian41110 said:

Would this patch work with 1.0.5? I'm not getting any supplies in any parts with crew capacity. 

try with this:

@PART:HAS[#CrewCapacity[>0]]:NEEDS[mod_that_add_supplies_name]
{
	%RESOURCE[your_supplies_name]
	{
		%amount = #$../CrewCapacity$
		@amount *= 15
		%maxAmount = #$amount$
	}
}

you still need to change mod_that_add_supplies_name and your_supplies_name to whatever those names are

Link to comment
Share on other sites

6 hours ago, Sigma88 said:

try with this:


@PART:HAS[#CrewCapacity[>0]]:NEEDS[mod_that_add_supplies_name]
{
	%RESOURCE[your_supplies_name]
	{
		%amount = #$../CrewCapacity$
		@amount *= 15
		%maxAmount = #$amount$
	}
}

you still need to change mod_that_add_supplies_name and your_supplies_name to whatever those names are

I did.  In about 15 minutes I'll get back to you with what it is.

Link to comment
Share on other sites

Spoiler

@PART:HAS[#CrewCapacity[>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %kerbCount = #$../CrewCapacity$
        %amount = 15
        @amount *= kerbCount
        %maxAmount = #$amount$
        !kerbCount = DEL
    }
    %RESOURCE[Mulch]
    {
        %kerbCount = #$../CrewCapacity$
        %amount = 0
        @amount *= kerbCount
        %maxAmount = #$amount$
        !kerbCount = DEL
    }
}

what have I done wrong?

Edited by Whovian41110
Link to comment
Share on other sites

39 minutes ago, Whovian41110 said:

what have I done wrong?

:HAS[#CrewCapacity[>]] you haven't specified what it should be greater than (should probably be [>0]

Some other things I see about the patch:

  • kerbCount isn't necessary, since it's always just the crew capacity.  You can just use @amount *= #$../CrewCapacity$ directly
  • You will always have 0 for the amount and maxAmount of mulch.  Typo maybe?
Link to comment
Share on other sites

20 minutes ago, blowfish said:

:HAS[#CrewCapacity[>]] you haven't specified what it should be greater than (should probably be [>0]

Some other things I see about the patch:

  • kerbCount isn't necessary, since it's always just the crew capacity.  You can just use @amount *= #$../CrewCapacity$ directly
  • You will always have 0 for the amount and maxAmount of mulch.  Typo maybe?

So what would that look like?  I've got no experience with MM

Link to comment
Share on other sites

Spoiler

@PART:HAS[#CrewCapacity[0>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= kerbCount
        %maxAmount = #$amount$
        !kerbCount = DEL
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= kerbCount
        %maxAmount = 15
        !kerbCount = DEL
    }
}

So this @blowfish

Link to comment
Share on other sites

1 minute ago, Enceos said:

@Whovian41110 You haven't specified in your config what is kerbCount. You may as well use #$/CrewCapacity$ directly instead of it.

Spoiler

@PART:HAS[#CrewCapacity[0>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= #$/CrewCapacity$
        %maxAmount = #$amount$
        #$/CrewCapacity$ = DEL
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= #$/CrewCapacity$
        %maxAmount = 15
        #$/CrewCapacity$ = DEL
    }
}

So this? (Nice avatar btw)

Link to comment
Share on other sites

1 minute ago, Whovian41110 said:
  Hide contents

@PART:HAS[#CrewCapacity[0>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= #$/CrewCapacity$
        %maxAmount = #$amount$
        #$/CrewCapacity$ = DEL
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= #$/CrewCapacity$
        %maxAmount = 15
        #$/CrewCapacity$ = DEL
    }
}

So this? (Nice avatar btw)

Yes, but #$/CrewCapacity$ is not a user defined variable, you don't have to delete it. And your Mulch maxAmount will be always 15 in the current state of your config. You may want to add another line for mulch after the %maxAmount

@maxAmount *= #$/CrewCapacity$

Link to comment
Share on other sites

Just now, Enceos said:

Yes, but #$/CrewCapacity$ is not a user defined variable, you don't have to delete it. And your Mulch maxAmount will be always 15 in the current state of your config. You may want to add another line for mulch after the %maxAmount

@maxAmount *= #$/CrewCapacity$

Spoiler

@PART:HAS[#CrewCapacity[0>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= #$/CrewCapacity$
        %maxAmount = #$amount$
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= #$/CrewCapacity$
        %maxAmount = 15
        @maxAmount *= #$/CrewCapacity$
    }
}

This? :confused:

Link to comment
Share on other sites

@Whovian41110 This :)

Spoiler

@PART[*]:HAS[#CrewCapacity[>0]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= #$/CrewCapacity$
        %maxAmount = #$amount$
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= #$/CrewCapacity$ you don't need this line since you want initial amount to be always 0
        %maxAmount = 15
        @maxAmount *= #$/CrewCapacity$
    }
}

EDIT: Found another mistake

Edited by Enceos
Link to comment
Share on other sites

2 minutes ago, Enceos said:

@Whovian41110 This :)

  Hide contents

@PART[*]:HAS[#CrewCapacity[0>]]:NEEDS[UmbraSpaceIndustries]
{
    %RESOURCE[Supplies]
    {
        %amount = 15
        @amount *= #$/CrewCapacity$
        %maxAmount = #$amount$
    }
    %RESOURCE[Mulch]
    {
        %amount = 0
        @amount *= #$/CrewCapacity$ you don't need this line since you want initial amount to be always 0
        %maxAmount = 15
        @maxAmount *= #$/CrewCapacity$
    }
}

 

Thanks!:D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...