Faark

[WIP] Loading textures only as required

Recommended Posts

A few questions to the genius behind this little mod:

First off, on the original post, we read:

- Not really a problem, but even compared to stock KSP the current memory savings might not be as huge as expected, since this mod currently doesn't compress loaded textures.

Is this still accurate? The reason I ask is that in the configuration file there is a setting called "CompressTextures" which would lead me to believe that compression is actually being done.

Second, on the original post again, we read:

- The current versions aims to crash KSP in case of unexpected situations. Please report those.

I know this could be useful for hunting down bugs and what not, but I'm wondering if the "aim" to crash is really necessary. KSP crashes enough on it's own without a plugin purposely making it happen when it gets flustered.

Share this post


Link to post
Share on other sites

Just here to say that the current version is working without issues on a 32 bit install with a few mods including EVE FAR DRE MJ Texture replacer and others.

EDIT : Also to ask if the title for the thread could be changed to include the words `load on demand` as that seems to be the name of the mod (just had an adventure searching for this thread) even if the title changes to `load textures on demand` that would still show the thread on a search.

If I have it wrong and the mod has a different name, could the title change to that please?

EDIT 2: Error message popping up with 0.25 on loading screen

Edited by John FX

Share this post


Link to post
Share on other sites

I too am getting a message indicating the mod is incompatible with 0.25; if you'll give me a few minutes I'll try to post the specific message.

EDIT: The message reads: "LoadOnDemand has detected a problem and may not load properly. Operation is not valid due to the current state of the objec..."

Edited by capi3101

Share this post


Link to post
Share on other sites
Great, this game is rather unbearable without this amazing little gem.

I must say that for a mod that game play wise does nothing it has surprisingly become one of my favorite mods.

Share this post


Link to post
Share on other sites

Time to look for someone to take over, license has been adjusted to allow that some time ago, so it seems Faark wouldn't mind. This mod is too good to die.

Share this post


Link to post
Share on other sites

I was afraid of that. I took a look at the source, but unfortunately I was unable to even load up the project file. Last time this happened all it took was a recompile with the current version of KSP, which any number of us could very likely do with soemthing like "sharp develop" (free download... somewhere...)

Share this post


Link to post
Share on other sites

Checked the development site - Faark self-assigned the issue Gaalidas opened up 17 hours ago, it says. Just an update for y'all.

Share this post


Link to post
Share on other sites

Hey guys,

this version should be .25 compatible. Though i haven't tested very much. Most of my KSP .25 time was spent on a new un-modded space program that didn't made it beyond low Kerbin orbits because of relying heavy on ssto planes.

___

Its kinda interesting that download seem to be pretty consistent. I expected a much bigger hit by Squad releasing a 64bit version, especially on the long run.

Glad you guys are using and/or do like LOD, but improving it can be quite time consuming and i'm struggling whether its worth it for "just another memory saving tool", to be frank.

May i ask why you use/like LOD, especially compared to competitors like ATM or 64 bit. Should help a lot to know what to focus on in future development. It can't just be load times? I also hope it's not just because you weren't aware of those alternatives^^

Share this post


Link to post
Share on other sites

"Just another memory saving tool?" Not at all! This is the best memory saving tool I've ever used. :) OK, for me:

1. Sheer capacity. Your mod eclipses ATM in every way. Even the aggressive version can't match the sheer number of mods I can load with this.

2. Quality. It did bork .tga textures, but since Squad also started to in the latest release, it just became a non-issue. It allows me to use textures in full resolution, which is more than can be said of ATM Aggressive, which I hate for killing quality too much.

3. Load times. KSP loads a lot faster, which makes restarting smoother. As a mod dev, this is really helpful for me when developing for mods like RSS, as ModuleManager doesn't like reloading configs via debug menu.

4. Ease of installation. ATM is known to break normal maps if it doesn't get fed a config. Your mod just plain works.

Share this post


Link to post
Share on other sites
"Just another memory saving tool?" Not at all! This is the best memory saving tool I've ever used. :) OK, for me:

1. Sheer capacity. Your mod eclipses ATM in every way. Even the aggressive version can't match the sheer number of mods I can load with this.

2. Quality. It did bork .tga textures, but since Squad also started to in the latest release, it just became a non-issue. It allows me to use textures in full resolution, which is more than can be said of ATM Aggressive, which I hate for killing quality too much.

3. Load times. KSP loads a lot faster, which makes restarting smoother. As a mod dev, this is really helpful for me when developing for mods like RSS, as ModuleManager doesn't like reloading configs via debug menu.

4. Ease of installation. ATM is known to break normal maps if it doesn't get fed a config. Your mod just plain works.

Well if that's how you feel...;.;

Share this post


Link to post
Share on other sites

Well, I do use ATM Basic in conjunction with LOD, since the quality loss isn't great and it fixes loader bugs. But ATM Aggressive always resulted in really ugly textures for me.

Share this post


Link to post
Share on other sites

Faark: KSP Win x64 is broken for most people; not all of us want to / can / etc switch to Linux, and OS X doesn't have a 64bit version. ATM, while awesome, cannot (apart from fixing the TGA loader bug) decrease memory without quality loss. To get things working with even a *reduced* mod set and only *1* planet worth of textures (RSS) I had to set scaling to 1/4th in ATM.

Besides, why the heck would I want to waste RAM (and VRAM) on parts I'm not actively using!?

Oh, and do check out Sarbian's DDS loader--streaming DDS from disk direct to VRAM should be much, much faster.

Share this post


Link to post
Share on other sites
[DDS]

Yes i've seen it. Its actually kinda worthless for this project, since LOD doesn't currently doesn't compress at all, doesn't gain any calculation time. But it even could have loaded DXT compressed data all along and that's what it was aiming for in the first place. The missing footwork i've never found the time for was to choose and integrate a compressor. But now with ATM trying the same someone will probably find a solution soon.

I'm more concerned about some method the DDS loader Sarbian found uses (LoadRawTextureData). LODs real problem was to load textures without any impact on the game and all of Unity's methods to load textures i tried created short freezes. Thus i choose to use DirectX directly instead. But this one sounds kinda lightweight and i just can't remember whether i tried it back than. Might worth another try. Also too bad its undocumented.

Edited by Faark

Share this post


Link to post
Share on other sites

Maybe LOD could "cache" full size textures on disk in DDS format, and then use DDS loader to load them up? It'd probably take a lot of HD space (you'd be essentially storing copies of all your textures on HD), but could greatly speed up loading.

Share this post


Link to post
Share on other sites
May i ask why you use/like LOD, especially compared to competitors like ATM or 64 bit. Should help a lot to know what to focus on in future development. It can't just be load times? I also hope it's not just because you weren't aware of those alternatives^^

My reasons pretty much mirror Dragon01's; I've tried ATM before, and the quality of the textures it produces is crap. I use an ultra-low-end box to play KSP as it is (financial constraints prohibit me from considering upgrades and my box is getting to the point where it might simply be cheaper to just get a new one - if I could afford that). The LoadOnDemand mod lets me play a game where everything looks awesome and with a greatly lessened degree of lag as compared to stock. You know, like I actually have a box whose date of manufacture doesn't end in "B.C."

Share this post


Link to post
Share on other sites

Faark: my memory was hazy, but I was pretty sure you weren't compressing. Point is, as long as read outweighs seek grabbing DDS is going to be significantly faster than MBM/TGA, and about the same as PNG (depends on how noisy the image is) due to decreased file size. And since presumably many folks aren't tied to spindles anymore, seek is likely not a significant factor. And that's even apart from the decompression from PNG or TGA-RLE...

Share this post


Link to post
Share on other sites
Glad you guys are using and/or do like LOD, but improving it can be quite time consuming and i'm struggling whether its worth it for "just another memory saving tool", to be frank.

May i ask why you use/like LOD, especially compared to competitors like ATM or 64 bit. Should help a lot to know what to focus on in future development. It can't just be load times? I also hope it's not just because you weren't aware of those alternatives^^

I use it because for me it feels like the most advanced tool that is around here.

64bit is not really an option to windows users with the current build so that is why I don't use that, but before I even used your tool with 64bit because it is a performance saver.

ATM is something that should by my mind be part of the stock game, like MM to be really modding friendly by default.

LoD brings high res textures only to the parts that are important and keep the others small and that through out the whole game, it works perfectly, to me it really is a piece of art.

Share this post


Link to post
Share on other sites

i tried ATM and was disappointed with the result, it is complicated and destroys the graphics. LOD is far superior, it is easy to install and the performance gains are huge on my system, allowing a superior ksp experience both in terms of load times and graphics quality. To me this mod is essential. tbh i don`t understand why this mod isn`t getting more love from the community unlike its competitors this really delivers. keep up the good work and thanks again.

Share this post


Link to post
Share on other sites

Hi there!

I'm getting the same error as reported before. Here is part of my log:


[LOG 18:04:56.966] AddonLoader: Instantiating addon 'LegacyInterface' from assembly 'LoadOnDemand'
[LOG 18:04:56.969] AddonLoader: Instantiating addon 'ActivityGUI' from assembly 'LoadOnDemand'
[LOG 18:04:56.971] AddonLoader: Instantiating addon 'DevStuff' from assembly 'LoadOnDemand'
[LOG 18:04:56.975] LoadOnDemand: No config found, starting with defaults.
[LOG 18:04:56.976] LoadOnDemand: Todo19: Consider a mechanism to remove old/unsued cached files! (both dead refs and unused cfgs)
[LOG 18:04:56.978] AddonLoader: Instantiating addon 'Startup' from assembly 'LoadOnDemand'
[LOG 18:04:56.983] LoadOnDemand: Device: Direct3D 9.0c [nvd3dum.dll 9.18.13.3788]
[LOG 18:04:57.155] LoadOnDemand: ERROR: Native load failed with error code 126.
[EXC 18:04:57.163] AggregateException: Failed to create NativeBridge, even legacy mode!Contained exceptions:
---------------------------------------
System.Exception: Failed to load native library: ---> System.Runtime.InteropServices.COMException (0x8007007e):
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR (Int32 errorCode) [0x00000] in <filename unknown>:0
at LoadOnDemand.UnmanagedLibrary..ctor (System.String fileName) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at LoadOnDemand.UnmanagedLibrary..ctor (System.String fileName) [0x00000] in <filename unknown>:0
at LoadOnDemand.NativeBridge.SetupNativeBridge () [0x00000] in <filename unknown>:0
---------------------------------------
System.NotImplementedException: Legacy mode isn't even close to a working state!
at LoadOnDemand.NativeBridge.SetupNativeBridge () [0x00000] in <filename unknown>:0


[LOG 18:04:57.172] AddonLoader: Instantiating addon 'WorkQueue' from assembly 'LoadOnDemand'

Thanks in advance!

Share this post


Link to post
Share on other sites

So, yesterday I fired up the game and LOD never did load up any textures. It acted like it was working - it had the "Loading Textures" text and later "Preparing Textures" text underneath of it, but it never did load up any texture. Built a plane, flew it into orbit and crash-landed it, and it was shades of pink and purple the entire time.

Anything I should check on my end? Has anybody else had this crop up?

Share this post


Link to post
Share on other sites
This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.