mkkellogg / GaussianSplats3D

Three.js-based implementation of 3D Gaussian splatting
MIT License
1.29k stars 161 forks source link

Rendering scale #276

Closed chenqi13814529300 closed 3 days ago

chenqi13814529300 commented 1 month ago

When my ply is greater than 1.5G and the spherical harmonics are 0, I can barely load. When the spherical harmonic is 1, the loading crashes. May I ask if there is a solution. In the case of larger ply, even if the spherical harmonic is 0, it cannot be loaded properly.

mkkellogg commented 1 month ago

Inevitably there will be resource limitations (e.g. memory) when running applications inside a browser and it looks like you're running into them :) I haven't done any explicit testing to determine what those limits are for my viewer, and they will most certainly vary from device to device, OS to OS and even between different browsers. You can try setting halfPrecisionCovariancesOnGPU to true (it's a constructor parameter for Viewer), and that may help a little, but right now there's not much else that can be done. I'm working on figuring out ways to reduce memory usage, and I have a few ideas, but it won't be ready until at least a few releases from now.

mkkellogg commented 1 week ago

Not sure if you're still having trouble with this one, but one solution might be to convert your .ply to a .ksplat with level 2 compression. That might help for some of the larger scenes. You should use the nodejs script approach, where you can set a custom heap size. The documentation is in the README here: https://github.com/mkkellogg/GaussianSplats3D?tab=readme-ov-file#creating-ksplat-files

mkkellogg commented 3 days ago

Going to close for now, please let me know if you still need assistance with this one.