Skip to content

[SPZ] Regression Large Splats Now Fail to Load #234

@lukeyreyno

Description

@lukeyreyno

Context

Previously, large spz were able to be decoded just fine. It seems like the cause may be due to the shipped WASM binary in @adobe/spz being limited to 2GB of memory growth.

  • Though, blindly increasing this the max memory to 4GB (for 32 bit WASM) isn't quite full proof and will still fail on larger splats.

Depending on the priorities of this tool, it could be worth reverting changes and going with a non-WASM decode.

The alternative I suppose is to wait for the https://github.com/nianticlabs/spz / https://www.npmjs.com/package/@adobe/spz to limit the memory use in WASM decoding. Regardless, I figured it would be good to have this on your radar.

Examples

Splat Transform

Before

splat-transform v2.0.4 (b40e8f7)
▸ [1/1] Input /Users/lucas/Assets/Models/RnD-360pipeline.spz
  ▸ Reading
    ▸ decoding [####################] 5.738s
  · 10.5M gaussians · 3 SH bands · 2.31GB
# Summary

**Row Count:** 10512453
...

After

splat-transform v2.1.0 (e1c8619)
▸ [1/1] Input /Users/lucas/Assets/Models/RnD-360pipeline.spz
  ▸ Reading
[SPZ] deserializePackedGaussians: version=3, numPoints=10512453, shDegree=3, fractionalBits=12, antialiased=0, hasExtensions=0
Aborted()
    ✗ RuntimeError: Aborted(). Build with -sASSERTIONS for more info.
    at abort (file:///Users/lucas/repo/splat-transform/dist/spz-R7y_wx37.js:1:1590)
    at __abort_js (file:///Users/lucas/repo/splat-transform/dist/spz-R7y_wx37.js:1:751700)
    at wasm://wasm/002c81ba:wasm-function[770]:0x6674f
    at wasm://wasm/002c81ba:wasm-function[62]:0x3f07
    at wasm://wasm/002c81ba:wasm-function[40]:0x1226
    at wasm://wasm/002c81ba:wasm-function[129]:0x8c0c
    at wasm://wasm/002c81ba:wasm-function[840]:0x9b779
    at wasm://wasm/002c81ba:wasm-function[843]:0x9d5d4
    at dynCall (file:///Users/lucas/repo/splat-transform/dist/spz-R7y_wx37.js:1:768922)
    at file:///Users/lucas/repo/splat-transform/dist/spz-R7y_wx37.js:1:769065
    failed in 5.901s
  failed in 5.901s
✗ failed in 5.903s  [peak 3098.44GB]

Super Splat

Before After
Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions