Texture streaming pool over budget

I know this is an old thread, but I think it is important to provide my two cents on this, because it’s an issue that is common but is surrounded by lots of misinformation.

Firstly, using the command r.streaming.poolsize to just increase you Streaming Pool size is not a good solution in most cases. It’s the performance equivalent of sweeping the issue under the rug and pretending it doesn’t exist.

Unreal is trying to tell you that too much texture memory is being utilized, and this can cause further issues down the line, such as long load times, poor performance by occupying memory needed by other systems, and even crashing if it gets bad enough.

What causes this is having too many textures (Usually large ones) loaded in memory at any given time. If you’re using lots different 4k maps for example, and none of them are LODded, or you’re not managing the pool of loaded textures this is a very easy way for this issue to spring up.

It’s not a fun issue to manage, but there are lots of small ways of doing it:

  • Use lower resolution textures where possible, or configure their LODs to be lower.
  • Ensure that Actors in your scene aren’t needlessly loading huge numbers of different textures, by making sure you are limiting your use of unique materials that use different textures.

To some extent your packaged game will manage the pool better in the executable than in the editor. But it’s important not to ignore this issue when it comes up, especially if it is soon after opening your project.