Hi all,
I’m attempting to implement texture MIP streaming in order to save GPU memory not only in a build, but also in the the Editor (including Play mode / Edit mode).
Test setup and base configuration:
- I have scene that loads with a scene camera and a game view camera positioned so that it overlooks 100s of props and objects in the distance.
- Texture MIP streaming is configured in Quality settings and Editor settings as per documentation.
- I’m setting a low memory budget of 512 compared to the actual visible textures in the scene which would account for 3.5GB if all loaded at MIP 0.
Now, when I load the scene in this state, whether in Edit more or Play mode, the entire 3.5 GB of GPU texture memory is uploaded (i.e. loading all MIP 0 and lower to the GPU):
So after much struggle, I figured out that if also setting “Load texture data on demand” to true, it then will behave correctly and upload to the GPU within the memory budget:
However… here’s the problem:
Enabling that checkbox causes corruption of the Volumetric Clouds in HDRP. They will flicker like crazy, as if some buffer(s) is operating at lower resolution than configured (my best guess).
Furthermore, the description of the setting “Load texture data on demand” (Project Settings → Editor → Streaming Settings), does not imply at all that this checkbox is required to make MIP streaming work correctly in Edit/Play mode. It simply mentions loading in an async manner to reduce CPU stalls.
So I’m now stuck with being forced to enable a theoretically unnecessary setting to have MIP streaming working, or having it not working at all in the Editor.
Any ideas for a work-around? Thanks very much, any help is greatly appreciated.