Jiarui Chen1*, Yikeng Chen1,2*, Yingshuang Zou1, Ye Huang3, Peng Wang4, Yuan Liu1, Yujing Sun5, Wenping Wang6
1 The Hong Kong University of Science and Technology 2 Shenzhen University 3 Sun Yat-sen University 4 Adobe 5 Nanyang Technological University 6 Texas A&M University
We introduce MEGS², a new framework that makes 3D Gaussian Splatting truly memory-efficient for real-time rendering.

- Feb. 7, 2026: We released our full training code and scripts, which we modified from GaussianSpa.
- Sept.24, 2025: We released our WebGL viewer code, which we modified from the repository (Kwok & Ye) to support both Spherical Gaussians and 3rd-order Spherical Harmonics.
- Sept. 7, 2025: We released our paper.
This code has been tested on RTX3090 with CUDA 11.7. Follow the steps below to set up the environment.
The repository contains submodules, please check it out with
# HTTPS
git clone https://github.com/IGL-HKUST/MEGS-2.git --recursiveconda create -n MEGS2 python=3.7
conda activate MEGS2
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txtDownload datasets Mip-360 and Tanks&Temples and Deep Blending. The expected folder structure is:
MEGS-2
├──eval.sh
└── ...
Dataset
├── drjohnson
├── playroom
├── bicycle
├── bonsai
├── counter
├── flowers
├── garden
├── kitchen
├── room
├── stump
├── treehill
├── train
└── truckcd MEGS-2
bash eval.shCommand Line Arguments
Ratios for pruning points at the simplifying iteration1.
Ratios for spasifying/pruning points at the sparisifying stop iteration.
Ratios for spasifying Gaussian lobes at the sparisifying iteration.
Threshold for pruning Gaussian lobes at the sparisifying stop iteration.
Interval to perform the “sparsifying” step every fixed number of iterations
Other arguments are similar to offical 3DGS and Mini-Splatting and GaussianSpa.
You can download node and npm by following the guidance from Node.js
For installation:
npm install http-server -gFirst, you need to place the .ply file in the WebGL_viewer folder, or directly modify the url path index in the main() function of the .js file to ensure it points to the correct path.
Then, you need to select the corresponding .js file in the .html file. Among them, main_sg.js is used to run Gaussian with Gaussian Lobes attribute in MEGS-2, while main_sh.js is for running the vanilla Gaussian. Unlike the previous repository (Kwok & Ye), we have added support for third-order SH coefficients, which therefore imposes a heavier burden on the device during runtime.
Finally, run the following command:
cd WebGL_viewer
http-server
- Release our WebGL viewer code (with support for various devices)
- Release our training code
If you find this work useful, please cite our paper:
@article{chen2025MEGS²,
title={MEGS²: Memory-Efficient Gaussian Splatting via Spherical Gaussians and Unified Pruning},
author={Jiarui Chen and Yikeng Chen and Yingshuang Zou and Ye Huang and Peng Wang and Yuan Liu and Yujing Sun and Wenping Wang},
year={2025},
eprint={2509.07021},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2509.07021},
}