Level Temporarily Black Upon Reloading

Hello,

When I enter PLAY mode, I have no issue, but when I reload, the entire level is black (except for the enemies on screen) for a few seconds and then it flashes on.

What’s going on here? How can I fix it?

Hi there,

it seems your texture streaming pool size is over budget.

Try this console command and see if fix the issue.

r.streaming.poolsize 6000
Try different values to see the best limit for you without hitting performance too hard.

Also, you might want to check your texture sizes and review if you need high quality textures for just a few actors rendered from distance.

If not, how are you calling the restart level logic?
Remember to also test your level in standalone mode and in a packaged project.

Best of luck!

Hello, LFA!

Good to hear from you.

I’m ALWAYS over budget (not at first, but over time as you use the EDITOR, it caches more and more textures, and you just go over budget; it never dumps them, which is annoying). But I have this issue only in this particular level.

I use the Open Level command instead of Load Streaming Level. I may need to change to the latter (at least for this level) unless someone knows exactly what’s going on.

Hello, Leo,

Indeed, long time no see. I hope everything’s good on your end.

I see your project is moving, that’s great news. The loading logic might be the culprit for this particular case, so please make sure to post updates here if you need any help.

Best of luck!

I’m wondering if it’s the level, itself, that is the issue. It’s a VERY heavy level (30K actors). I’m wondering if the shader is having a meltdown, sobers up, and then pulls itself back together after a few seconds.

I didn’t fully create the level (if I created all my levels from scratch, I’d NEVER finish my game).

It’s this asset:

If any new ideas pop up for you in the future, please don’t hesitate to share. I’ll passively fiddle with this as I work, and if I have a breakthrough, I’ll share it here.

Base on what you’ve shown, it seems that loading a complex level as streaming level might be the cause, if the level itself is heavy of performance. Is this level already loaded but hidden or you’re loading and set visible at once? Also, you might want to check a few optimization techniques:

  1. Split this level into smaller streaming levels first using the streaming distance compatible to your game view distance and camera angle.

  2. Review if you really need full dynamic lighting one for that level. Or you might want to use light channels to isolate those 3D Meshes in the background to use static lighting, keeping dynamic lighting for the main assets in the foreground.

  3. Assuming your game has a fixed camera angle shown in the preview video, you might want to turn everything in the background into a “backdrop” and replace all 3D assets. That’s how most games handle scene complexity.

Let me know if need some help exploring other options.

Keep up the good work.

Yeah, your conclusion is the same that I’ve come to.

What I noticed (this is information for ANYONE who comes across this) is that when I look at the Outliner, I can see that the meshes aren’t even loaded yet when the level loads (The amount of actors shown is only the 100 actors in the PERSISTENT LEVEL). Then after 3 or 4 seconds the number jumps from 100 - 15K, and that’s when the background appears. So it definitely seems tied to loading all of those assets.

I’m going to gut most of the background assets (not seen in the video… yet. As the level progresses, we enter the factory), and then I’m going to merge the remaining background actors into one actor (simplifying the materials), and I’ll leave the foreground in tact.

Shoouullld work. Fingers crossed. Thank you for your encouragement and time, LFA!!!