I have been thinking about Nanite ever since I saw the UE5 demo. I have discussed it with several developers and did some research on loading and rendering high-poly models. Some of the people still think that Nanite will work by generating LODs during asset import, which I don’t think is the case. What I think will happen is that the engine might find a way to only partially load a high-poly model into the VRAM based on viewing angle, distance etc… and stream-in and stream-out part of the geometry as they are needed.
I could think of two possible alternatives:
a) Load the high-poly model in it’s entirety into the system’s RAM and stream to the VRAM. This will require high capacity RAM.
b) Do not load the model into the RAM entirely and instead stream it directly from the harddisk. This requires a very fast SSD.
If they go wtih (b) wouldn’t that mean the device must have a very fast SSD and PCIe speed?
PS: A lot of people are wondering if Nanite is restricted to static opaque models and for translucent and skeletal meshes we might have to resort to the existing pipeline. Any idea?
Not sure how you’d achieve what we saw without this.
I’d don’t think that PCI express will be the bottleneck here. Perhaps the compression can be more aggressive since it’s the GPU that does the heavy lifting now. My bet here is that even if you can have a sustained read of 500MB/s per second, it may just not be enough. I really want to believe that the 3GB/s of the current NVMes is enough for the higher-end stuff, though.
Thank you for the info, this is just what I was looking for.
So it looks like system RAM and CPU are completely bypassed. In essence the SSD is being used as a substitute for RAM. This is quite interesting.
From what I have seen in recent years, the trend seems to be to focus more on GPU and VRAM rather than the CPU. As more and more stuff are being taken care of by the GPU, such as IO/Decompression/Decoding/AI/Physics/, the CPU could become pretty much like a support chip, as GPU was once. Interesting times.