Texture optimization

Hello. I have a problem with level loading speed. With first start it require a lot of time even for small level like this:


I think it’s because my parent material and 4k textures (9 for every material). I tried to optimize it by deleting ParallaxOcclusionMapping node and it become much more faster but player still can see blank meshes after level loading. I don’t use level streaming, just “load level” node when character is hitting the trigger. If I’ll decrease texture resolution to 1k and will put three textures in one (rgb channels) will it help? Can I do it in editor or I need something like gimp/photoshop?

Much easier to optimize your textures with a specific tool. Like

To be sure textures are causing the problem, make a copy of the level, and change the material on everything to ‘basic shape material’, and try loading it.

1 Like

Seems like no:


It’s unavailable in my country. Is there a free solution?

Are you logged in?

There’s no easy / good free solution. It’s a lot of work.

Yes, I just from Russia, so… you know. I have prices, but still can’t buy anything. “This product is unavailable in your region…” or something like that.

1 Like

Ah… Can’t help with that, I’m afraid…

Try the material test first, to be sure.

Yes, you can do it in Photoshop/Gimp, but I think you’ll be to quit after a couple of days :slight_smile:

No, you’re wrong. 2 hours is enough for me with GIMP. It’s just… awful. Can I, at least, change texture resolution in editor? I mean without GIMP/Photoshop.

Nope, that’s the problem. You might be able to find a plugin on github, compile it and install it, but…

Hm, I found LOD Bias setting, when I changed it from 0 to 1 I’ve got that:
image
Will it affect on loading speed, or ue will still load 2k texture and compress it in runtime?

As always, try it. But the LOD setting still leaves the large texture on disk ( so it will be in the install ). Yes, the level only has to load 1 or 2k instead of 4, but you can’t beat actually editing the texture, especially for packaging.

All the textures are precompressed into different LODs when it’s imported. I think there 14 or something like that. It will only load the relevant ones.

Like ClockworkOcean says, setting the LODBias or MaxTexture Size won’t affect the texture on disk - but it does when you package it - it will be packaged at the lowest resolution that fits your LODBias and MaxTextureSize settings - so the packaged build of your project will be more optimized.

Packing your images into channels, like you say, would also help a lot.

btw, I’m the author of rdTexTools - DM me if you’d like a trial version…

1 Like

Thank you for details and offer. For that moment it doesn’t matter for me, how much space is required on disk - I’m ready to spend a lot of time on optimization after finishing the main job. After I changed LODBias on textures I don’t see blank materials on meshes anymore. So, I think it’s a good and fast solution for that moment. But I want to specify: are that textures stored in videomemory with imported 4k resolution? Because I see very strange numbers in stats:
image
For so poor levels it can’t require so much video memory, isn’t it?

1 Like

Ah, thank you… :slight_smile:

1 Like

No they should only be stored in VRAM at the lower resolution (MIPs etc too) - maybe there is something else using large textures too?

Ok, thank you. Maybe you’re right, I don’t know. Suppose, I should create another question about it.