FlashGS: Efficient 3D Gaussian Splatting for Large-scale and High-resolution Rendering
About
This work introduces FlashGS, an open-source CUDA Python library, designed to facilitate the efficient differentiable rasterization of 3D Gaussian Splatting through algorithmic and kernel-level optimizations. FlashGS is developed based on the observations from a comprehensive analysis of the rendering process to enhance computational efficiency and bring the technique to wide adoption. The paper includes a suite of optimization strategies, encompassing redundancy elimination, efficient pipelining, refined control and scheduling mechanisms, and memory access optimizations, all of which are meticulously integrated to amplify the performance of the rasterization process. An extensive evaluation of FlashGS' performance has been conducted across a diverse spectrum of synthetic and real-world large-scale scenes, encompassing a variety of image resolutions. The empirical findings demonstrate that FlashGS consistently achieves an average 4x acceleration over mobile consumer GPUs, coupled with reduced memory consumption. These results underscore the superior performance and resource optimization capabilities of FlashGS, positioning it as a formidable tool in the domain of 3D rendering.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Novel View Synthesis | Ref-NeRF Real Scenes 50 (test) | PSNR22.93 | 8 | |
| Novel View Synthesis | NeRF-Casting Shiny Scenes 51 (test) | PSNR27.1 | 8 | |
| 3D Scene Rendering | MatrixCity (800th frame) | Memory Before Rendering (GB)6.83 | 4 | |
| Real-time Gaussian Splatting Rendering | Tanks & Temple Truck 1080p | Rendering Latency (Average) (ms)2.22 | 3 | |
| Real-time Gaussian Splatting Rendering | Tanks & Temple Truck 4k | Average Rendering Time (ms)3.46 | 3 | |
| Real-time Gaussian Splatting Rendering | Tanks & Temple 1080p (train) | Average Rendering Time (ms)1.93 | 3 | |
| Real-time Gaussian Splatting Rendering | Tanks & Temple 4k (train) | Average Rendering Time (ms)3.32 | 3 | |
| Real-time Gaussian Splatting Rendering | Playroom DeepBlending 1080p | Average Rendering Time (ms)1.44 | 3 | |
| Real-time Gaussian Splatting Rendering | Playroom DeepBlending 4k | Average Rendering Time (ms)2.72 | 3 | |
| Real-time Gaussian Splatting Rendering | DrJohnson DeepBlending 1080p | Average Rendering Time (ms)1.63 | 3 |