Force lightmaps to load in full resolution in standalone game

Hi all,

I noticed that sometimes my lightmaps don’t load in full resolution when I’m running my standalone game. I’m working on some stuff for Arch viz in VR, so it would be important to get the lightmaps to load properly when first opening the game. Is there a setting to completely turn off the “load it at half resolution” thing?

Thanks

Can anyone help me please?

Still trying to figure this one out. Tried editing the following BaseEngine.ini lines to force the lightmaps to always load in full resolution, but nothing seems to change in the game.

[TextureStreaming]
LightmapStreamingFactor=1.0
ShadowmapStreamingFactor=1.0

I would really like to get some actual support from Epic on this matter. I know this is a place where the community is supposed to help, but it’s been a while I’m trying to deal with this issue with no success, this is getting really frustrating.

I’ll keep this thread updated in case I find the answer or more information that could help solving the issue.

Hey brunogruber,

You might need to set the Lightmap streaming factor to 0.00 as lower values makes the streaming more aggressive.

You could also try using the console command ‘r.HighQualityLightmaps’ 1.0 or 0.0. What this setting does is allows high quality lightmaps which don’t bake in direct lighting of stationary lights.

Could you possibly provide me with some screenshots so I can reproduce this issue on my end?

Cheers,

Hi Andrew, thanks for stopping by. I tried using the ‘r.HighQualityLightmaps’ 1.0, but it didn’t load the lightmaps. Do you know where I can change the lightmap streaming factor?

Here are some pics illustrating the issue. First one is how it looks like when I first open the project OR when I run it as a standalone. Second one is how it looks like in the Editor, when I move the camera far away and then back.

So check to see if your default texture pool size is large enough in your scene by typing the ‘Stat Streaming’ console command. This will bring up information about the texture streaming system specific to your project. You might need to increase the ‘r.Streaming.Poolsize’ from 1000 to 2000.

I would also take a look at our recently updated, and extremely helpful Texture Streaming documentation. Let me know if you have further questions or need additional assistance.

Cheers,

Hi brunogruber, I had the same issue of you, same behaviors… It seams the reason was that I had multiple meshes with a lightmap resolution of 4096.
Probably he cannot handle it well. Reducing everything to a max of 2048 fixed the issue.
Hope I have been helpful although so late.

Cheers,
Giovanni

Hi All! Any update on this matter? I’m having the same problem in a large exterior scene. In the editor, the lightmaps are good quality but when I package the game, there are several meshes with a low quality lightmap loaded. I’m loading one main level and 2 lighting scenarios using blueprints to load.

I tried the above recommendations but they didn’t work :frowning:

I had a similar issue with another package but with the textures so I edited them and removed the streaming individually but now since the problem is with lightmaps and I have 94 lightmaps per level, you can imagine that going one by one is crazy

I’m kind of frustrated at this point, don’t really know what else to try. I really don’t want to reduce the quality of the lightmaps. The biggest one is 2048 by the way

Please help!

Hey Tennisfan,

Would you be able to provide me with a way to reproduce the issue on my end? It honestly sounds like you might have some levels being called to load while in the editor. Whenever you have levels added to your Levels tab, it will be loaded into memory. Even if the Always Loaded is disabled, any one specific level will essentially be put on standby so it can be initialized and completely load into memory.

Have you made sure to use the ‘ListStreamingTextures’ console command as well as troubleshooting using similar commands to identify the source of the problem? What you might be able to do is use the ‘r.Streaming.LimitPoolSizeToVRAM’ to limit the amount of memory the streaming consumes to the amount of VRAM available by your GPU.

Thanks,

Try change

FORCEINLINE bool IsMaxResolutionAffectedByGlobalBias() const { return LODGroup != TEXTUREGROUP_HierarchicalLOD && !bIsTerrainTexture && !(Texture && Texture->bIgnoreStreamingMipBias); }

To

FORCEINLINE bool IsMaxResolutionAffectedByGlobalBias() const { return LODGroup != TEXTUREGROUP_HierarchicalLOD && LODGroup != TEXTUREGROUP_Lightmap && !bIsTerrainTexture && !(Texture && Texture->bIgnoreStreamingMipBias); }

in StreamingTexture.h