Video memory exhausted, what are my options?

I have around 400 props in my game, coming from 10 different packs.
When they are all rendered on the screen, I exhauste my GPU memory, which seems pretty logical.

What are my options to reduce memory usage?

I still not done any optimisation on those assets, they all are nanite and they all are instanced static meshes as they will populate a whole city.

  • I could pack all the textures together in a texture array.
  • I could reduce the size of the textures
  • I could create a single master material and then assign the correct texture with custom data (which I’m already doing for some procedural meshes).

What are my other options I’m not aware of?

How much VRAM do you have?

That’s my GPU info, not exactly sure what VRAM is so I posted all.
But it’s me, not my players so I don’t see why I should focus on my own hardware.

Also streaming pool is very often over budget in the editor. I still not saw this event in the packaged game but I guess I have room for improvement over textures.

So you’ve got 24G VRAM.

You have to try pretty hard to fill that, I must say :slight_smile:

One rule of thumb, is to not use 8K textures. Unless there is a very specific reason for it ( like HDRI ), it basically makes very little difference to the end user. Also, if you hunt around, you’ll find a lot of textures like roughness, metallic etc are just there for the sake of it, and actually have to content. I’ve regularly found 8K ( or 4K ) metallic maps which are just a black square. Really?

The streaming pool is not managed in the edtior, so the longer you’re been working, the more likely you are to get that error ( streaming ). Although the VRAM error is different.

Are you using some kind of level streaming? Like world partition, or streaming volumes? This would cut down a lot on what is loaded at any one time…

1 Like