mkkellogg / GaussianSplats3D

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

Any tips to get higher performance with splats? #358

Open Patrick-van-Halm-360Fabriek opened 3 weeks ago

Patrick-van-Halm-360Fabriek commented 3 weeks ago

Hey all,

We currently have a few splats but we seem to lose a lot of performance on mobile devices. When on PC's the issue also occurs when zooming in close to the objects. When at a distance we see a very much increase of FPS within THREE.

The splat in question has 1376673 splats. Its very dense and I am assuming the splat sorting algorithm might be the bottleneck. image

Is there currently a way to get higher performance? Or is there a way to make the splat less dense whilst keeping the visual fidelity (this is very important to us).

We have trained this using Postshot + Reality Capture's dense pointcloud

seppestaes commented 3 weeks ago

Is that a splat (the shoe)? I see polygons, not a single outlier?

Patrick-van-Halm-360Fabriek commented 3 weeks ago

It is a Splat yes, very high fidelity

seppestaes commented 3 weeks ago

Could you share the .splat? 1.3M doesn't seem like an overkill, as @mkkellogg mentions SHD optimizations up to 16M. Most of my scenes are about 1M i.e. 3Mb (.ksplat) runs very smoothly on mobile.

Patrick-van-Halm-360Fabriek commented 2 weeks ago

I am making use of (.splat) which is 44Mb in size Splat file (Available 30 days)

Patrick-van-Halm-360Fabriek commented 1 week ago

@seppestaes do you have any ideas?

seppestaes commented 4 days ago

Hi @Patrick-van-Halm-360Fabriek, i haven't used PostShot/Reality Capture yet. Converted it locally to .ksplat (@mkkellogg) which does seem to increase performance. Although counterintuitive, I'd try with a less dense pointcloud. On a different note, i'm pretty amazed with the details on the shoe (text etc.). Could you share your input images/video? I'll run it through my pipeline.