Streaming loading of large GS

Hi,

We have a large .ply Gaussian Splatting scene that’s slow to load and freezes the page for about 1 second at the end of the import.

To improve this, we tried splitting the .ply into 30 smaller parts and loading them one after the other with addPart, hoping to:

  • show something to the user as soon as the first parts are loaded (progressive display)

  • avoid the freeze at the end

But addPart gets slower with each call, it seems each part is more expensive than the previous one. With 30 parts the total time ends up worse than loading the single big file.

Is there a recommended way to incrementally load splats into a single GaussianSplattingMesh without paying a growing cost per part? Or any plan to support streaming for large scenes?

Thanks!

cc @Cedric

We are planning to have better support for larger GS. No ETA yet.

Can you split your large GS into quad tree? Breaking it into squares and having 1 GS Mesh per square should work with splats sorting. Finding the good balance between too many individual GS and too many splats per mesh might need some tries and retries.

So, I would try to use the smaller parts you alread did. Sorting per mesh should be efficient and it should work just fine if these individual parts do not intersect too much.

Thanks I will try Quad tree
And hello from Rennes :waving_hand:

Awesome! Greetings from Redon!