# Gaussian Splatting in Babylon.js

**URL:** <https://forum.babylonjs.com/t/gaussian-splatting-in-babylon-js/45027>\
**Category:** Completed Features\
**Created:** [October 19, 2023, 3:14am UTC](https://forum.babylonjs.com/t/gaussian-splatting-in-babylon-js/45027 "2023-10-19T03:14:48Z")\
**Posts on this page:** 1\
**Showing post:** 28

<div class="post-metadata">

**Author:** ![xiasun](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/xiasun/32/36884_2.png) [@xiasun](https://forum.babylonjs.com/u/xiasun)\
**Post date:** [January 8, 2024, 1:29pm UTC](https://forum.babylonjs.com/t/gaussian-splatting-in-babylon-js/45027/28 "2024-01-08T13:29:33Z")

</div>

Hi Cedric, I have found one of the reasons of performance issue and have an improved version.

The idea is to avoid update instance matrix (covA, covB, centers, colors) after sorting, so the instance buffer could be set to static ([dynamic is slow](https://forum.babylonjs.com/t/mesh-with-thin-instance-slower-than-with-full-vertices/46756/11)).

Gaussian info (covA, covB, centers, colors) are used as sampler2Ds, and a single splatIndex attribute is used to represent sorted index which is dynamic. In my case, the fps of 2.5 million truck.splat could be raised from 15 to 60.

I have submit a PR [here](https://github.com/BabylonJS/Babylon.js/pull/14684). Could you review it?@Cedric @sebavan

---

_[View the full topic](https://forum.babylonjs.com/t/gaussian-splatting-in-babylon-js/45027)._
