GSplat loads very slowly and sometimes crashes after udpate

Link to project: https://playcanvas.com/project/1228429/

With the new version, loading gaussian splats with a script like below has become much slower and sometimes even crashes the browser (easier to crash with higher resolution, and maybe also when more of the splat is visible on the first frame).

this.app.assets.loadFromUrl(ply_url, "gsplat", (err, asset) => {
    if (err) {
        throw new Error(err);
    }
    container.asset = asset;
})

Currently we’ve found two workarounds:

  1. Use older engine like 1.70.3.

  2. If we make the splat barely visible on the first frame (cull most of it), than move the splat in front of the camera, the first frame is not a problem anymore. (this can be tested with the offsetFirst attribute on the linked project)

What platform do you get the crashes on?
Are you using compressed splat format (which loads a lot faster and uses less memory) or uncompressed format? If uncompressed, compress it here: SuperSplat

If this does not help, could you please create an issue here: Issues · playcanvas/engine · GitHub

@slimbuck FYI

We are using the compressed splat format. The issue happens with the new compressed shader.

Yep I can repro on my Mac as well. It loads fast into the SuperSplat though.

Supersplat decompresses splats at load time.

1 Like

Thanks for the quick responses. I’ve opened an issue on Github:

1 Like

A fix for this was released yesterday in Engine v1.71.6.

You can test it in the editor if you enable “Use Release Candidate” in Launch settings.