Jump to content

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


rbray89

Recommended Posts

1.35 gig with 2_12 version. Moar Mods! ;)

I should get my stuff backed up so I can format the hard drive to upgrade to Windows 7 x64, then I'll have more RAM available for KSP since I plugged in 6 gigs, of which XP can only use 3.25.

...I have Win 7 x64 with 12 gig of RAM. It's insulting how poorly this game runs and how frequently it crashes when I can run MUCH more visually demanding games (*cough*Battlefield 4*cough*) at 60 FPS in ANY scenario. Unity devs need to get their kerbals together and release x64 for Windows.

Gonna try this mod out and see if it helps. I gotta have my mods, man. XD

Link to comment
Share on other sites

Dread, the game runs poorly to your standards because of limitations with the unity engine. It is not the developers fault so shaming the game and saying you have a beastly computer will not make a difference. People run this game and are happy with everything and would KILL for 15fps let alone 60fps on max settings possible.

This mod should help ANYONE who uses it, good or bad computer. I hope it makes your KSP experience more.. bearable.

Link to comment
Share on other sites

I hate to tell you, I heartly disagreee.

> It is not the developers fault

I was not aware they had been forced at gunpoint or by law to use the unity engine. In my world we do hold developers responsible for the technology choices they make. They selected unity - and thus those things CAN be blamed on them.

Not saying I enjoy the game - and great mod you have here ;)

Link to comment
Share on other sites

I hate to tell you, I heartly disagreee.

> It is not the developers fault

I was not aware they had been forced at gunpoint or by law to use the unity engine. In my world we do hold developers responsible for the technology choices they make. They selected unity - and thus those things CAN be blamed on them.

Not saying I enjoy the game - and great mod you have here ;)

I am sure if they halted all progress to make their own engine everyone would be extremely mad. At the time back then, it was easy licensing to get, and it didn't cost them a fortune which they didnt have back then when KSP came into production. Its hard to give direct blame to the developers, sure, a different path would of been nice but at this present time, many years in the development, you deal with it and enjoy the game for what it is, now how it could of been. Things will change in the years to come of development and multicore processing is in the future and unity has backed that statement.

In the mean time, enjoy KSP, enjoy this lovely mod by Rbray which makes this game playable for a lot more users, and enjoy.. JOY! :D Sorry, I don't mean to cause a rant on this thread with everyone because it gets old when we all know this.

Link to comment
Share on other sites

Dread, the game runs poorly to your standards because of limitations with the unity engine. It is not the developers fault so shaming the game and saying you have a beastly computer will not make a difference. People run this game and are happy with everything and would KILL for 15fps let alone 60fps on max settings possible.

This mod should help ANYONE who uses it, good or bad computer. I hope it makes your KSP experience more.. bearable.

Actually, my blame was directed at the Unity developers, not Squad. They're doing what they can with what they have; in fact there is a x64 bit version of KSP for Linux because Unity natively supports x64 in Linux. The Unity team is taking their sweet time providing x64 support for Windows, and yes, that is absolutely and totally their fault. This is the ONLY game that runs on Unity that I will play; I consider the entire engine to be junk and cheap, and I said the same thing when Unity first came out: a graphics engine designed to run in a browser will be junk.

Link to comment
Share on other sites

I'm getting a lot of "division by zero" exceptions when starting the game, particularly with textures on HexCans and WarpPlugin, does this have to do with this plugin? And if so, how can I avoid that?

Load(Texture): HexCans/Models/HexPod000

(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)

DivideByZeroException: Division by zero
at TextureCompressor.TextureCompressor.UpdateTex (.TextureInfo Texture, Boolean compress, Boolean mipmaps, Int32 scale, FilterMode filterMode, Boolean makeNotReadable, Int32 max_size) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.ApplySettings (.TextureInfo Texture) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Load(Texture): WarpPlugin/warpr6

(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)

DivideByZeroException: Division by zero
at TextureCompressor.TextureCompressor.UpdateTex (.TextureInfo Texture, Boolean compress, Boolean mipmaps, Int32 scale, FilterMode filterMode, Boolean makeNotReadable, Int32 max_size) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.ApplySettings (.TextureInfo Texture) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

About 30 of these exceptions.

Link to comment
Share on other sites

I'm getting a lot of "division by zero" exceptions when starting the game, particularly with textures on HexCans and WarpPlugin, does this have to do with this plugin? And if so, how can I avoid that?

Load(Texture): HexCans/Models/HexPod000

(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)

DivideByZeroException: Division by zero
at TextureCompressor.TextureCompressor.UpdateTex (.TextureInfo Texture, Boolean compress, Boolean mipmaps, Int32 scale, FilterMode filterMode, Boolean makeNotReadable, Int32 max_size) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.ApplySettings (.TextureInfo Texture) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Load(Texture): WarpPlugin/warpr6

(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)

DivideByZeroException: Division by zero
at TextureCompressor.TextureCompressor.UpdateTex (.TextureInfo Texture, Boolean compress, Boolean mipmaps, Int32 scale, FilterMode filterMode, Boolean makeNotReadable, Int32 max_size) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.ApplySettings (.TextureInfo Texture) [0x00000] in <filename unknown>:0

at TextureCompressor.TextureCompressor.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

About 30 of these exceptions.

Hmm... I didn't see those in any of my logs. I'll have to look closer.

Link to comment
Share on other sites

For those of us cherry-picking mods (I only use a few parts out of NovaPunch), the configs don't care right? If that stuff just doesn't exist, it is ignored?

Yup, the extra configs are basically ignored if you don't have the mod.

Link to comment
Share on other sites

Rbray, could you create an algorithm to write new configs if it detects a mod that isn't on its list? It would be an advanced feature only and can only be turned on inside the textureCompression config file.

I definitely considered it. I have been trying to figure out how to do it, but I'm not entirely sure it is possible.

Link to comment
Share on other sites

Hmm... I didn't see those in any of my logs. I'll have to look closer.

Let me give you an update. Almost all of those textures giving me the error are 1x1 pixel small (a solid coloured pixel). But not all, I'm also getting that error for one of the textures in the Hybrid Electric Propulsion Pack mod.

Also, I'm actually not using the full HexCans plugin, I'm just running with some resources that some other plugin required with their package, I can't remember quite which one. I think it might have been Extraplanetary Launchpads.

Link to comment
Share on other sites

Let me give you an update. Almost all of those textures giving me the error are 1x1 pixel small (a solid coloured pixel). But not all, I'm also getting that error for one of the textures in the Hybrid Electric Propulsion Pack mod.

Also, I'm actually not using the full HexCans plugin, I'm just running with some resources that some other plugin required with their package, I can't remember quite which one. I think it might have been Extraplanetary Launchpads.

Looks like it is a small bug on my end. Code to keep small textures from being scalled too small tried to make it really big by dividing by zero.

I'll have a fix this evening uploaded.

Link to comment
Share on other sites

Looks like it is a small bug on my end. Code to keep small textures from being scalled too small tried to make it really big by dividing by zero.

I'll have a fix this evening uploaded.

Allrighty, thanks!

One different problem though: You've got a default config for WarpPlugin (KSP-Interstellar), but you're not adding the PlanetResourceData folder into the exceptions which contain map/resource data needed by the plugin to work. I had to add that manually since you don't want those non-readable or compressed.

Link to comment
Share on other sites

There's not an exception being raised somewhere you might catch?

So...

We do know what texture don't have config files. I just compress those now. The real problem stems from GUI textures, and normal maps. If the texture is named ending in _NRM or has the normal map MBM bit flag set, then all is good. Otherwise, we have to know to convert it to a normal map and set the Boolean flags for the texture to let KSP know that it is a normal map. The only way I have found how to do this currently is in the logs. I've toyed around with trying to hook into the part loading to detect normal textures there, but so far, no luck.

Link to comment
Share on other sites

Allrighty, thanks!

One different problem though: You've got a default config for WarpPlugin (KSP-Interstellar), but you're not adding the PlanetResourceData folder into the exceptions which contain map/resource data needed by the plugin to work. I had to add that manually since you don't want those non-readable or compressed.

Ah, OK. I'll be sure to add the exception in the next release.

Link to comment
Share on other sites

Can someone explain to me what's the difference between Basic and Aggressive? I think the OP needs to be updated with that info. I know I could probably find the answer if I searched through all of the 70 pages on this thread, but I don't have time right now.

I'm assuming that Aggressive saves more RAM than Basic, but I'm wondering if it reduces the texture quality more.

Thanks!

Link to comment
Share on other sites

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