TruncGradGS: Improved 3D Gaussian Splatting
via Truncated Gradient Updates

Théo Morales1  ·  Nhat-Quynh Le-Pham1  ·  Robin Atkins2  ·  Binh-Son Hua1

1Trinity College Dublin  ·  2Dolby Laboratories

Accepted to Pacific Graphics 2026

3D Gaussian Splatting has become a de facto scene representation for novel view synthesis, yet robustly learning 3D Gaussian primitives from visual input remains challenging. Standard optimization relies on gradient-based updates, but a common issue is the gradient vanishing phenomenon: a pixel far from a Gaussian primitive often has diminishing gradient magnitudes to influence primitive attributes, resulting in suboptimal scene reconstruction. In this paper, we propose a method to address gradient vanishing with a piecewise truncated gradient formulation that improves the optimization stability and robustness to initializations. We show that our method consistently improves 3D Gaussian Splatting with random and COLMAP initializations while being generalizable across static and dynamic Gaussian Splatting. As a by-product, we also examine the limitations of current benchmarks for dynamic scenes, and introduce a novel dataset for benchmarking dynamic Gaussian Splatting using synthetic 3D scenes. We demonstrate the effectiveness of our method in both static and dynamic settings for the public benchmarks and our proposed dataset.

Method

Keep the true Gaussian derivative inside the splat isocontour; continue it with a linear surrogate outside so distant pixels still move the primitive.

\[ \widetilde{\nabla G} = \begin{cases} \dfrac{\partial G}{\partial \Delta_x} & \text{if } -2\log G < -2\log \tau \\[2mm] \min\left(m\,x + b,\ \dfrac{\partial G}{\partial \Delta_x}\right) & \text{if } \dfrac{\partial}{\partial \Delta_x}G(b) < 0 \\[2mm] \max\left(-m\,x + b,\ \dfrac{\partial G}{\partial \Delta_x}\right) & \text{if } \dfrac{\partial}{\partial \Delta_x}G(b) > 0 \end{cases} \]

Cut-off \(\tau\) matches the rasterizer’s alpha discard; slope \(m\) sets far-field decay. Matching at \(x_b\) keeps the field continuous:

\[ \frac{\partial}{\partial \Delta_x}G(x_b) = m\,x_b + b \quad\Longrightarrow\quad b = \frac{\partial}{\partial \Delta_x}G(x_b) - m\,x_b, \qquad (\mu - x_b)^T\Sigma^{-1}(\mu - x_b) = -2\log \tau \]
Left: derivative of a 2D Gaussian nearly zero outside the splat. Right: truncated field with wider support.
Figure 1. True derivative (left) vs. truncated field (right) for the same splat.
1D piecewise gradient: true derivative between cut-offs, linear surrogate beyond.
Figure 2. 1D view: true derivative inside the cut-offs, linear surrogate outside.

Comparisons

Drag across a clip to compare baseline vs. baseline + Ours. Clips load on demand.

Windy tree

4DGS · our benchmark

Benchmark

Six path-traced synthetic scenes with large spatio-temporal divergence — motion that public dynamic benchmarks rarely stress.

Scenes
6
Frames
300 / scene
Duration
10 s @ 30 fps
Cameras
25–45
Resolution
1600 × 900
Test views
1–4 / scene
Still frames from six benchmark scenes.
Figure 3. Still frames — fluids, foliage, night lighting, particles, and caustics.
Coming soon

Alley

Reflective ground, moving geometry

Coming soon

Windy tree

Vegetation and outdoor atmospherics

Coming soon

Water cup

Pouring fluid, caustics, refraction

Coming soon

Neon city

Emissive night lighting

Coming soon

Bouncy balls

Sparse content, fast rigid motion

Coming soon

Underwater

Volumetric scattering and fluid

Results

Plug-in gains on Mip-NeRF360, Neural 3D Video, and our benchmark — better quality, often fewer Gaussians. Best per column in bold; our rows tinted.

Cropped comparisons on alley, windy tree, underwater, and flame steak.
Figure 4. Dynamic crops — our benchmark and Neural 3D Video.
Qualitative comparison for underwater, bouncy balls, and windy tree.
Figure 5. Underwater, bouncy balls, windy tree.
Qualitative comparison for neon city, alley, and cup.
Figure 6. Neon city, alley, cup.

Static

Random and COLMAP init on OurBench and Mip-NeRF360. Train time is reference-only.

Static scene reconstruction on OurBench and Mip-NeRF360 under random and COLMAP initialization.
MethodOurBenchMip-NeRF360
LPIPS ↓SSIM ↑PSNR ↑Train ↓#GS ↓LPIPS ↓SSIM ↑PSNR ↑Train ↓#GS ↓
Random initialization
3DGS0.21060.835124.7414 min1.126M0.34810.671820.9227 min1.180M
3DGS + Ours0.19740.851125.1655 min0.799M0.33430.693322.1856 min0.971M
2DGS0.43540.496018.8023 min1.231M0.39430.639119.8234 min1.511M
2DGS + Ours0.38830.662420.7033 min1.446M0.38860.654720.3355 min1.071M
COLMAP initialization
3DGS0.12700.905830.079 min1.217M0.21490.821227.7021 min2.496M
3DGS + Ours0.12450.909730.8643 min0.768M0.21970.820527.8486 min2.035M
2DGS0.20170.837825.0023 min1.801M0.23420.811727.1744 min3.068M
2DGS + Ours0.19620.844426.3532 min1.048M0.24030.810427.3380 min2.701M

Dynamic

Sequential COLMAP init from the first frame. φ / θ = sparse / dense start on OurBench.

Neural 3D Video

Neural 3D Video
MethodLPIPS ↓SSIM ↑PSNR ↑#GS ↓
4DGS0.13600.944330.222.806M
4DGS + Ours0.13390.949331.701.733M
CEM-4DGS0.13280.951232.070.331M
CEM-4DGS + Ours0.13590.951932.290.352M
4D-Scaffold0.12860.950231.830.583M
4D-Scaffold + Ours0.13110.948731.940.556M

Our benchmark

Our benchmark
MethodLPIPS ↓SSIM ↑PSNR ↑#GS ↓
4DGS (φ)0.23260.832925.472.409M
4DGS (φ) + Ours0.20350.857426.081.715M
4DGS (θ)0.22880.822426.022.970M
4DGS (θ) + Ours0.14960.892327.562.333M
CEM-4DGS0.27670.785522.800.704M
CEM-4DGS + Ours0.26700.784522.630.824M

Citation

@inproceedings{morales2026truncgradgs,
  title        = {TruncGradGS: Improved 3D Gaussian Splatting via Truncated Gradient Updates},
  author       = {Morales, Th{\'e}o and Le-Pham, Nhat-Quynh and Atkins, Robin and Hua, Binh-Son},
  booktitle    = {Proceedings of Pacific Graphics 2026},
  year         = {2026},
  publisher    = {The Eurographics Association},
  eprint       = {2609.03534},
  archivePrefix = {arXiv},
  primaryClass = {cs.CV}
}