Jump to content

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


rbray89

Recommended Posts

I am running x86 aggressive and I still have to run with my stock graphics textures at one-quarter res. I am still hitting nearly 3GB at game start and my toolbar icons are totally hosed! Is there a way to fix the toolbar icons? They cannot possibly be taking enough memory to warrant making them illegible.

IcnmtpZ.png

Also is there a way to force it to re compress everything? I was going to delete the texture cache but wanted to confirm this was okay first.

Link to comment
Share on other sites

ctbram,

Your problem can be solved by going to the settings screen from the KSP main menu. Go to the video tab and increase your graphics setting. That should clear up the white box problem with the tool bar. If your comp can't handle it or you have too much of a slow down. You'll have to change it back.

" increase your graphics setting..." What does that mean? Do you mean increase my texture setting? If so then I CANNOT do it. Even with Aggressive ATM and the stock game texture setting at 1/4 my game starts at 3.1GB!!!!!

There is just no way I can increase that setting. If I go to 1/2 I get about 15 minutes of game time or maybe two trips to the VAB before my game crashes because of the damn memory limit!!!

It's just maddening because I am right at the damn cap. With one stinking more GIG I'd be able to run everything I'd like with no compression at all. 64-bit is totally broken as I will not play the game without proc fairings and realchute and 64-bit does not support them as well as having all sorts of other issues with artifacts and what not.

I am at the point now where I am thinking of going through all the part mods and cutting out the bits I don't use. But that turns into a never ending task where I am not playing anymore! I am just fighting to cram 10 pounds of crap into a 1 pound bag. It's sucking all the fun out of the game.

Link to comment
Share on other sites

In addition to the -force-opengl option, try editing the scale setting in KSP/GameData/Active Texture Management/settings.cfg. Based on how you have your Texture Quality setting right now, you'll probably need scale = 8. Then you can return your Texture Quality setting to full.

Link to comment
Share on other sites

I have a HUGE lot of mods on KSP, I can load the game fine but while playing, at vehicle loading the game seems to run out of memory even with ATM. What now? is my only hope left with 64bit KSP?

Edited by ebigunso
Link to comment
Share on other sites

I have a HUGE lot of mods on KSP, I can load the game fine but while playing, at vehicle loading the game seems to run out of memory even with ATM. What now? is my only hope left with 64bit KSP?

Try OpenGL mode. See the post immediately above yours.

Link to comment
Share on other sites

O M G!!! -force-opengl where have you been all my life!!!! What a difference! I set scale in the ATM .cfg to 8. Set texture scale in the stock graphic settings to "full". launched with -force-opengl and my game now starts at 2,343,588 mem.

Before these changes I was running with atm scale 4. Stock graphics ts at quarter and my game was starting at 3,188,527 bytes and my textures looked like absolute crap. The addon icons where just blank black boxes in fact. I'd have to hover over them to read the popup text to see what they did!

TY for the tip you may have just let me get back to playing instead of cursing at it as I have been for the last few weeks.

UPDATE: my settings now are stock graphics texture scale full, ATM scale 4, and I am starting well below 2,600,000 mem and can play for hours without any memory issues. The force-opengl launch flag is a life savor for me. I have a gtx-780 and also was able to crank up a lot of the stock graphics features like ground scatter and per pixel shaders and anti-aliasing up as well.

Edited by ctbram
Link to comment
Share on other sites

sadly, "-force-opengl" simply causes KSP to flash black and transparent.

That's unfortunate. What GPU do you have? I have an NVidia 760M (or thereabouts) in my laptop and -force-opengl runs just as well and saves me nearly a GB of RAM compared to Direct3D.

Link to comment
Share on other sites

I have a Mobility Radeon 5870 as part of the Asus G73jh Laptop Series. I made sure all my drivers are updated but nothing changed. And it doesn't outright crash either so no error reports. For now I've just taken to playing for ~15 minutes at a time prior to crashing.

Not so. Unless you disabled logging then you always have logs, and those logs contain errors and all manner of logged events regardless of whether your crash resulted in an error being displayed to you.

Visit this link: http://forum.kerbalspaceprogram.com/threads/92229-How-To-Get-Support-%28READ-FIRST%29

It contains information about finding your logs. Create a thread in that forum and post your logs there.

Link to comment
Share on other sites

Is there a way you could set it up so that 2-channel normal maps are stored in either RG-16 format or color-swiveled LA-16 format? This would cut the memory footprint of normal maps in half, and the later option, would allow for the use of DXT-5 texture compression without significant distortion. (Although a color space conversion shader may be necessary for compression/decompression and hence reading and writing. Either all three color parts can be mirrored from the "L" channel or the G and the B can be zero-filled it doesn't matter. It might actually be faster to simply use a greyscale to color conversion, hence mirroring out the "L" channel into RGB, because there is a driver routine to do that, and there is no zero-fill routine, so you'll need a custom shader for that, or use the more advanced color-space conversion routine.)

Edited by Ruedii
Link to comment
Share on other sites

Is there a way you could set it up so that 2-channel normal maps are stored in either RG-16 format or color-swiveled LA-16 format? This would cut the memory footprint of normal maps in half, and the later option, would allow for the use of DXT-5 texture compression without significant distortion. (Although a color space conversion shader may be necessary for blending. Either all three color parts can be mirrored from the "L" channel or the G and the B can be zero-filled it doesn't matter. If you are using a shader to do the color conversion on read, it shouldn't take any additional time.)

Unity shaders already expect GA format for normal maps. You can set compression enabled (via ATM config) for normal maps, but I am not about to be the judge for weather the RGBA or DXT-5 normal maps are better.

Link to comment
Share on other sites

Yes, they expect GA, but they don't expect LA16, which is packed LA:LA:LA:LA instead of XGXA:XGXA:XGXA:XGXA (In other words, LA16 is fully packed, while RGBA32 has fill bytes.)

Without the fill bytes, LA16 has half the required memory space.

Edited by Ruedii
more detail
Link to comment
Share on other sites

BTW LA16 is also called LA-8:8, RA-8:8 or GA-8:8 and uses 16bpp/8bpc As opposed to the default of XGXA-8:8:8:8 which uses 32bpp/8bpc

I'm basically saying you should pixel pack into a 2-channel 16bpp texture, instead of leaving filler in the ignored channels. The graphics card can be set up to automatically convert it by simply saying the L channel is monochrome and the A channel is alpha. The fill channels don't matter, so it doesn't matter that it will mirror into it. (Saves the other option which is to say it's palleted and use a lookup table.)

Likewise you can also take the compressed and put it in a 2 channel 8bpp/4bpc texture by doing the same swiveling technique.

Edited by Ruedii
moar info
Link to comment
Share on other sites

From what I can tell, Unity3D doesn't seem to expose that part of the function, so you'd have to bypass some of Unity's texture loading mechanisms, and that is never easy. (It's possible, but not easy.)

That might be an issue. It's a real shame too.

I also noticed that they no longer mark ATITC as mobile only. Could you create an experimental version that will check for that capability and use it if it's available?

According to my research, ATITC is optional in Direct3D 9 and required in Direct3D 10. It's also handled differently in the two versions. Likewise it's optional in OpenGL 3.x and required in OpenGL 4.x. (Believe it or not it was nVidia who pushed to get it in OpenGL 4.x, which is why the nVidia variant with 4 different mappings is used, instead of the ATI version with only 2 mappings.)

Link to comment
Share on other sites

Yes, they expect GA, but they don't expect LA16, which is packed LA:LA:LA:LA instead of XGXA:XGXA:XGXA:XGXA (In other words, LA16 is fully packed, while RGBA32 has fill bytes.)

Without the fill bytes, LA16 has half the required memory space.

These are the texture format types available for use. Given that I can't find ANY documentation on the use of EAC_RG (1-byte encoded), I'm not particularily inclined to use it.

Note that while DXT5 can't fully utilize the bytes it has per pixel for the AG component, under the right conditions it comes pretty close (either zeroing or duplicating the values... can't remember which)

Link to comment
Share on other sites

Well, I did more research, the only way around Unity's default texture formats is to write your own texture handling shaders to real-time convert the shader to and from the desired format (i.e. convert from LA88 to RGBA888), in other words, Unity3D made life a POTA again for us because they can't keep up with the times and expose all the graphics capabilities of modern hardware!

It probably isn't worth this hassle.

Also, you don't want to be using ECRG format, because EC compression sucks.

Fortunately, from what I can tell they might just be exposing ATITC capability on PC hardware. It's worth an attempt, as it would create a night and day difference in both rendering speed and quality.

However, they have yet to expose the PC hardware capability of ASTC, which is an even better algorithm (i.e. it is currently the best algorithm out there.)

Edited by Ruedii
Link to comment
Share on other sites

Edit: There we go.

Will this break any mods of any kind? I may consider getting it.. Im starting to get RAM Crashes

I wanted to use the mod SciFi Shipyards and it wouldn't load, it would get stuck on a part of USS Voyager. When I install this mod, it does load but nothing has textures.:(

Link to comment
Share on other sites

When I load the basic version it reduces the textures in the toolbar mod so badly I can't read them and it blacks some of them out completely making them unrecognizable so my question is How can I change the toolbar textures back and let the toolbar use it's normal textures yet reap the results of the other memory saving things this mod does?

Link to comment
Share on other sites

Noob question:

The hardware bottleneck on my laptop is definitely its ....ty graphics card. Launches of even basic ships hit like 15 fps and even in orbit I have to rotate the camera away from the planet in order to not get lag. The game typically uses about 2.5-2.75 gigs of RAM when I play. Will this help the lag from my ....ty graphics card?

TYIA

Link to comment
Share on other sites

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