Jump to content

[1.0][Release-5-0][April 28, 2015] Active Texture Management - Save RAM!


rbray89

Recommended Posts

This is truly impressive. Hats off to you guys! My ram usage went from 3.1Gb to 1.1Gb. Note however, that i'm using half-res setting on graphics. Honestly I can't really tell the difference.

However, I do note that this is absolutely destroying the blizzy tool bar buttons and the stock tool bar buttons beyond the stock buttons. Flags shown in the mission center are also extremely pixelated. I presume that if you ignore the really small textures, this problem will likely go away.

Link to comment
Share on other sites

First - Sorry for double post if this makes one. Didn't see my other one actually post.

I was wondering if anyone else is having an issue where the game loads all the mods, but then hangs indefinitely upon loading the last mod.

I get through the entire loading process, then it just stays there doing nothing (memory slowly increasing...very slowly) until eventually the background loading picture goes away, and all I am left with is the (now full/complete) loading bar, and the message saying, "ModuleManager: 463 patches applied" in white.

Anyone know what I am doing wrong? As soon as I remove ATM it loads up again. Tried both the 32 and 64-bit versions of ATM. (Game will not load in 32 bit without ATM, so can't test that, but it does load fine in 64-bit.)

Thanks in advance for the help!!

Link to comment
Share on other sites

KSP is hanging on load while processing SXT parts post Module Manager. KSP exhibits this behavior even if the ATM SXT.cfg is marked as false or deleted.Without ATM KSP loads fine. Has been doing this for at least the last 3 builds of ATM. KSP 0.25 32-bit, latest SXT release, several other mods installed.

Output.log error when compiling first SXT part:


PartLoader: Compiling Part 'SurfaceLights/Parts/SurfaceOmniLight/part/W485_SurfaceOmniLight'

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

PartLoader: Compiling Part 'SXT/Parts/Aero/airIntake/part1/LRadialAirIntake'

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

NullReferenceException: Object reference not set to an instance of an object
at PartLoader.ReplaceTextures (UnityEngine.GameObject model, System.Collections.Generic.List`1 textureNames, System.Collections.Generic.List`1 newTextures) [0x00000] in <filename unknown>:0

at PartLoader.CompileModel (.UrlConfig cfg, .ConfigNode partCfg, Single scaleFactor) [0x00000] in <filename unknown>:0

at PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node) [0x00000] in <filename unknown>:0

at PartLoader+.MoveNext () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Link to comment
Share on other sites

rbray: I hate to ask this, because you just fixed that issue, but now that min size *is* respected, can we have an option to apply to all folders? That's easier than remembering to CFG All The Folders! </alliebrosh>

Thanks for taking time to fix all this stuff btw, despite being super busy! :)

Link to comment
Share on other sites

Ok I've been looking at this for a few days now and it seems like with the new update it may be time that I need this. But I am sort of confused, is this not a download and install via dropping the two folders in game data? It seems to sound like I need to go into mod folders and do something to them too as I seen many mentions of do cfg's to mods. So do I have to mess with files in other mod folders to make this work?

Link to comment
Share on other sites

is it the x64 i should use for the 32 bit version?

X86 is for 32 bit. X64 is 64 bit. At least it should be. That's the normal way it's expressed.

for Windows PC based stuff. Not sure if it's the same for other OS

Edited by Hevak
Link to comment
Share on other sites

And what if you use a mac? use the X86 or the X64?

Dont know about macs and how they do stuff sorry. But x86 is generally a 32bit designation

Edited by Hevak
Link to comment
Share on other sites

@ Hevak - it's as simple as you think - just place them in GameData, no need to muck around. The main caveat is that if you have Environmental Visual Enhancements (rbray89's other major mod), make sure to *merge* the BoulderCo folder. The download includes cfgs for major mods as well as the stock parts. This means that any parts not covered by those will not be processed by ATM, so if you want ATM to compress other mod parts, additional cfgs will be required.

@ backedbattlestar - if you're running the 32-bit version of the game, use the x86 release. The x64 release is only if you run KSP_x64.exe.

Edit @ rowns: there's no x64 KSP on Mac, so use the x86 ATM.

Edited by cremasterstroke
Link to comment
Share on other sites

@ Hevak - it's as simple as you think - just place them in GameData, no need to muck around. The main caveat is that if you have Environmental Visual Enhancements (rbray89's other major mod), make sure to *merge* the BoulderCo folder. The download includes cfgs for major mods as well as the stock parts. This means that any parts not covered by those will not be processed by ATM, so if you want ATM to compress other mod parts, additional cfgs will be required..

Ok sounds good. Going to give it a try. thanks.

Link to comment
Share on other sites

Well it is built for/around/based on unity's continuations/coroutines. I'm definitively no expert but afaik "yield return null;" does mean "next frame". There are a few built-in things you can return (like a WWW object) that use the engine internal magic and might load multiple, but i doubt it would be optimized for data throughput. Also have you tried to not "yield return null;", maybe even just yield break? Though that would probably lead you back to the "withe screen" & defeat the purpose of coroutines...

I wonder whether there is a low latency (at least lower than "next frame") way to signal a coroutine from a different thread. Never mind, we are talking about Unity :D

The loader are subroutines nested in subroutines like matryoshka dolls. It's not faster than 1 item per frame for sure, and some (png) may take 2 if not more. I wonder if vsync may lower the loading rate too ...

I know I say it a bit too often those days, but Unity 5 may help since if's supposed to support thread better (better being different not :P)

Well i'd love to see this in stock KSP. Its partially the reason why i started LOD. But i doubt it will ever come unless Unity offers a way to load a texture without getting short freezes.

Some plugin on the Unity Asset store seems to have working system that handles that, so it's most likely doable but you know better than me that it's hard from what we can do from a plugin.

The RAW loading I use may help with the performance since it bypass some of the slow steps. Shaw sent me some code to load other DDS format (uncompressed RGB/RGBA) and I'll look if Unity can handles others

Edit : to encode to DXT libsquish seems to be a good one too.

Edited by sarbian
Link to comment
Share on other sites

Well the thing is, I can't seem to get the compression to turn off. My current JSI.cfg looks like this:

ACTIVE_TEXTURE_MANAGER_CONFIG
{
folder = JSI
enabled = false
}

But my monitors still look like this:

http://i.imgur.com/sXTRDQZl.jpg

Did I do it wrong?

The basic version seems to work fine, though, so I guess I'll use that instead.

Mine aren't quite as bad, but I'm getting similar:

screenshot210_zps03b22cc4.png

I tried adding .cfg files (cloned from above) for both JSI and Hyomoto, without any apparent effect. What am I missing?

Link to comment
Share on other sites

Hi all. Currently having an issue with blank (white) textures on a few specific parts when running the 3-6 and 3-7 x86 Basic releases. The textures seem fine when running the 3-5 release.

For me, this is affecting the PackRat parts from USI but others have reported issues with the, I think, the science lab in interstellar and that it's something to do with TGA textures in KSP/Unity. I just wanted to drop this here as it also seems to be tied into the latest two releases of ATM as well and wondered if it might be related to whatever the new texture loading implementation might be. I don't know since I'm no coder! Just passing it on in case it's tangentially related and can help with ironing out issues.

For what it's worth I did try adding a .cfg to make the UmbraSpaceIndustries folder where the affected parts and textures are located ignored by ATM but it didn't seem to solve the issue so if it IS related, I'm guessing it isn't anything to do with actually modifying the textures.

Edited by rabidsi
Link to comment
Share on other sites

Regarding people with messed up monitors due to compression, count me as one too. Oddly, it only happens in the ALCOR capsule, everything else seems okay.

I wonder if there's a way to create an exception to IVAs and RPM monitors for ATM?

Link to comment
Share on other sites

I am having a problem where all my ship parts are coming up white. Anyone having this problem or know how to fix it?

read a couple of posts back for starters....anyway thats not ATM bug its KSP stock bug

Link to comment
Share on other sites

I'm getting the same thing with my USI PackRat rover. After installing ATM all the rover parts are white/blank. Any ideas?

Thx

Hi all. Currently having an issue with blank (white) textures on a few specific parts when running the 3-6 and 3-7 x86 Basic releases. The textures seem fine when running the 3-5 release.

For me, this is affecting the PackRat parts from USI but others have reported issues with the, I think, the science lab in interstellar and that it's something to do with TGA textures in KSP/Unity. I just wanted to drop this here as it also seems to be tied into the latest two releases of ATM as well and wondered if it might be related to whatever the new texture loading implementation might be. I don't know since I'm no coder! Just passing it on in case it's tangentially related and can help with ironing out issues.

For what it's worth I did try adding a .cfg to make the UmbraSpaceIndustries folder where the affected parts and textures are located ignored by ATM but it didn't seem to solve the issue so if it IS related, I'm guessing it isn't anything to do with actually modifying the textures.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...