Hello!
I am having a very weird issue related to MipMap Streaming, where textures in the scene don’t load the higher Mip Level Texture, until I click the texture itself one by one in the Project Tab (just click, nothing else). Otherwise, they all remain stuck showing the lower Mip Level.
Every time I restart the Editor the issue is back. The behaviour is the same in builds as well, where differently from the editor, there is no dirty way around the problem. I think I set-up everyhting correctly both in the editor, in the camera, and in Project Settings for the system to work… but I have no idea of how to debug this problem, since it may be a bug as well as a memory budget problem, I have no clue to be honest!
Has anyone ever experienced something like that or might know what this can be related to?
1 Like
it feels like the budget is set too low. Try increasing it. You can check the desired memory using this: Unity - Scripting API: Texture.desiredTextureMemory
1 Like
Not exactly the same issue you are reporting… but I can confirm that I’m seeing various issues related to MIP streaming in the Editor. Maybe the entire thing is just riddled with bugs.
Texture MIP streaming memory budget not respected in Editor - Unity Engine - Unity Discussions
1 Like
Hey @nehvaleem, thanks for your support first of all!
Yep, I forgot to mention in the original post that I already followed the guide carefully and got through all the documentation (memory budget included) for my editor version.
Speaking of that, by playing again with the Project Settings, I noticed that the MipMap streaming kinda gets to work as expected when I set the memory budget exactly to 0, which is odd to say the least and makes me think more and more that there is some bug underneath.
I will continue investigating and eventually send a bug report…
Again, I really appreciate your help!
@mgeorgedeveloper1 wow, I just had a look at your issue and it looks like you’re having waaay more troubles than me. I’m sorry to hear that… (sigh!)
It’s another proof of how much the dev way is hard and full of pitfalls! I am personally also facing the same kind of troubles somewhere else where I spend days fixing one thing, and suddenly another feature (not necessarily even linked to the first) breaks. Let’s not talk about how often I find myself trying to stabilise the performances for unexpected behaviours!
That being said, I appreciate you pointing me to your post since it has some good hints of what I should look into in the next days. I’ll keep the post updated in case I manage to find a solution, or if I end up finding that it’s all just a bug.
EDIT: I just spent another hour trying every possible thing… and I think I just managed to stabilise a (seemingly) correct streaming + initial MipMap Level selection by creating global Level Reduction Overlays in Project Settings and then setting one of these specific LR overlays manually for each texture where I had MipMap generation activated.
I believe there must be some problem with the automatic MipMap Reduction Level selection for the Engine version that I’m using… or that I had a wrong understanding of how the memory budget worked. Going again through the documentation after this finding, I found that:
“Unity must keep mipmap levels above the Max Level Reduction value in GPU memory. This might mean Unity exceeds the memory budget.”
So that must have been the culprit of my problem, which looks now solved, at least until new more powerful one will oust it!
1 Like