3DGS Preset Config

Choose preset configurations by 3DGS data format, precision, and performance target.

Background

A single configuration cannot cover every 3DGS scene. Data precision, file size, GPU memory, device performance, and quality requirements vary by scenario, so each integration should start from a suitable configuration preset.

This page summarizes common 3DGS file formats, packType choices, presets, and key parameters that can be tuned on top of a preset.

Quick Choice

Choose a preset from the business constraint first, then tune only the key parameters. Avoid changing precision, sorting, and blur parameters all at once.

Scenario GoalStarting PointWatch
Best quality and strong user hardwareMax QualitypackType, packHighPrecisionEnabled, highPrecisionAttachEnabled
Large scenes that break at low precisionQuality Firstcompressed, high-precision merge, maxStdDev
Lower-end devices with acceptable qualityPerformance Firstsuper-compressed, detailCullingThreshold, maxPixelRadius
Extremely large scenes or very low-end devicesExtreme Performance 0repackEnabled, sortMinDuration, more aggressive precision compression
Source data is sog and the goal is larger scene scaleExtreme Performance 1sog, precalculateEnabled, GPU memory usage

3DGS File Formats

FormatSizeRender QualityImplementation Notes
ply100%GoodHighest source precision and largest file size.
supersplat compressed ply30%, about 17% after gzipGoodSplits data into chunks of 256 splats, likely spatially grouped like ksplat. center, quat, scale, and rgb are compressed by min/max, rescale, and quantization. SH can be compressed to u8; observed data is about 5 bit.
spz10%AverageKeeps relatively high precision for splat data, especially center, so sharpness loss is lower. SH precision is low and can cause visible color shifts in fine-detail scenes.
splat14%Average, not universalDrops shN during compression. Layout: center.xyz (f32), scale.xyz (f32), color.rgba (u8), quat (u8), for 32 bytes total.
ksplat20%-30%Depends on compression levelLevel 0 is uncompressed, level 1 is 16 bit, and level 2 is 8 bit. It spatially clusters splats for local coordinate compression, roughly similar to compressed ply.
sog5%AverageApplies PLAS sorting to center, scales, quats, and sh0(rgba), then uses min/max and quantization. shN uses k-means clustering with centroids and labels to restore data while reducing size. Images tend to be blurrier.

compressed ply quantization

packType

packType controls the precision of objects produced while parsing splats. Different options trade quality, size, memory, and performance.

Compressed

FieldPrecision
positionf32 (3)
scalef16 (3)
quatf16 (4)
color & alphaf16 (4)
shNs_11_10_11

Compressed favors image quality and data precision. Use it for high-quality output, large scenes, or scenes that produce artifacts with lower precision.

SuperCompressed

FieldPrecision
positionf16 (3)
scaleu8 (3)
quatu8 (4)
color & alphau8 (4)
shNsh1 (sint5), sh2 and sh3 (sint4)

SuperCompressed favors file size, memory, and GPU memory. Use it when resources are tight, devices are lower-end, or performance is the priority.

Sog

Sog is for sog source data. It has the smallest size but can look blurrier. Prefer it when the source format is sog, when shN is absent, or when extreme scene scale is the main goal.

Preset List

PresetSuitable Scenario
Max QualityHighest visual quality requirement and strong user hardware.
Quality FirstLarge scenes, such as cities, that can render incorrectly at low precision. Requires reasonable hardware.
Performance FirstLower-end machines.
Extreme Performance 0Very low-end machines or extremely large scenes.
Extreme Performance 1Very low-end machines or extremely large scenes when the source data is sog. Prefer this over Extreme Performance 0 when the condition is met, because it can open larger scenes.

Max Quality

max quality config max quality render result

Quality First

quality first config quality first render result

Performance First

performance first config performance first render result

Extreme Performance 0

extreme performance 0 config extreme performance 0 render result

Extreme Performance 1

extreme performance 1 config extreme performance 1 render result

Custom Configuration

Presets cannot cover every scene. In practice, choose the closest preset as a starting point, then tune a small number of key parameters. For scene-specific tuning, import the scene into [EGS GS Viewer] and compare the result.

ParameterPurposeRecommendation
packTypeProduces objects with different precision during parseSplats.Use sog when there is no shN and the format is sog. Use super-compressed when memory or GPU memory is tight. Use compressed when high data precision is required.
packHighPrecisionEnabledEnables high-precision data merging.Determines the final data precision used for rendering. Usually enabled for compressed; evaluate per scene for sog.
precalculateEnabledEnables spherical-harmonic calculation.Enable it when the data has no shN, saving performance and GPU memory.
repackEnabledEnables repack behavior.A performance optimization for large scenes, usually used with sortMinDuration. It can improve performance by about 50%-100%, with extra GPU memory cost.
highPrecisionAttachEnabledEnables a high-precision render attachment.Consider enabling it when the scene shows ripple-like artifacts, or when quality is more important. It increases GPU memory usage.
normalizedFalloffEnables normalized Gaussian falloff.Most scenes show little difference. Do not enable it unless maximum quality is required.
preBlurAmount / blurAmountControls blur parameters.Non-AA training usually uses 0.3 / 0; AA training usually uses 0 / 0.3. Other values are generally not recommended.
focalAdjustmentAdjusts splat spread scale.2 is closer to the reference result.
detailCullingThresholdApproximate detail culling.Usually in [0, 4]. Setting it to 1 often has minimal visual loss; the performance gain depends on scene detail.
maxPixelRadiusMaximum screen-space radius covered by a Gaussian.Default is 1024; recommended range is [128, 1024]. Too small can break the scene visually.
maxStdDevMaximum standard deviation of Gaussian spread.Should be between sqrt(5) and sqrt(9). Larger values cost more performance but improve quality; sqrt(8) is usually a practical quality/performance midpoint.
sortMinDurationMinimum interval between sorting operations.Usually used with repackEnabled. Common value is 16 * n, where n is no greater than 10.

normalizedFalloff Comparison

normalizedFalloff off normalizedFalloff on